mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 02:10:05 +00:00 
			
		
		
		
	- Split internal/external Coturn for BBB and Nextcloud - Added dedicated relay port ranges per app - Updated env and compose overrides for coturn - Ensure coturn role is loaded conditionally - Standardize credential/env passing for coturn @See https://chatgpt.com/share/68d6f376-4878-800f-b4f7-62822caa49ea
		
			
				
	
	
		
			99 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| # General
 | |
| application_id:                     "web-app-nextcloud"                                           # Application identifier
 | |
| container_port:                     80
 | |
| 
 | |
| # Database
 | |
| database_password:                  "{{ applications | get_app_conf(application_id, 'credentials.database_password') }}"
 | |
| database_type:                      "mariadb"                                                                                   # Database flavor
 | |
| 
 | |
| # Nextcloud 
 | |
| ## General 
 | |
| NEXTCLOUD_DOMAIN:                   "{{ domains | get_domain(application_id) }}"
 | |
| NEXTCLOUD_PORT:                     "{{ ports.localhost.http[application_id] }}"
 | |
| NEXTCLOUD_URL:                      "{{ domains | get_url(application_id, WEB_PROTOCOL) }}"
 | |
| 
 | |
| NEXTCLOUD_PLUGINS_ENABLED:          "{{ applications | get_app_conf(application_id, 'plugins_enabled') }}"
 | |
| NEXTCLOUD_ADMINISTRATOR_USERNAME:   "{{ applications | get_app_conf(application_id, 'users.administrator.username') }}"
 | |
| 
 | |
| ## Plugins
 | |
| NEXTCLOUD_PLUGIN_ITEMS:             "{{ applications | get_app_conf(application_id, 'plugins') | dict2items }}"
 | |
| 
 | |
| ## Paths
 | |
| 
 | |
| ### Host
 | |
| NEXTCLOUD_HOST_CONF_ADD_PATH:       "{{ [ docker_compose.directories.volumes, 'infinito' ] | path_join }}"              # This folder is the path to which the additive configurations will be copied
 | |
| NEXTCLOUD_HOST_INCL_PATH:           "{{ [ docker_compose.directories.volumes, 'includes.php' ] | path_join }}"          # Path to the instruction file on the host. Responsible for loading the additional configurations
 | |
| NEXTCLOUD_HOST_NGINX_PATH:          "{{ [ NGINX.DIRECTORIES.HTTP.SERVERS, NEXTCLOUD_DOMAIN ~ '.conf' ] | path_join }}"  # Nginx path for proxy conf
 | |
| 
 | |
| ## Control Node
 | |
| NEXTCLOUD_CNODE_PLUGIN_VARS_PATH:   "{{ [role_path, 'vars/plugins/'] | path_join }}"                                 # Folder in which the files for the plugin configuration are stored
 | |
| NEXTCLOUD_CNODE_PLUGIN_TASKS_PATH:  "{{ [role_path, 'tasks/plugins/'] | path_join }}"                                # Folder which contains the files for extra plugin configuration tasks 
 | |
| 
 | |
| ## Internal Paths
 | |
| NEXTCLOUD_DOCKER_WORK_DIRECTORY:    "/var/www/html/"                                                      # Name of the workdir in which the application is stored
 | |
| NEXTCLOUD_DOCKER_CONF_DIRECTORY:    "{{ [ NEXTCLOUD_DOCKER_WORK_DIRECTORY, 'config/'] | path_join }}"     # Folder in which the Nextcloud configurations are stored     
 | |
| NEXTCLOUD_DOCKER_CONFIG_FILE:       "{{ [ NEXTCLOUD_DOCKER_CONF_DIRECTORY, 'config.php'] | path_join }}"  # Path to the Nextcloud configuration file
 | |
| NEXTCLOUD_DOCKER_CONF_ADD_PATH:     "{{ [ NEXTCLOUD_DOCKER_CONF_DIRECTORY, 'infinito/'] | path_join }}"   # Path to the folder which contains additional configurations
 | |
| NEXTCLOUD_DOCKER_INCL_PATH:         "/tmp/includes.php"                                                   # Path to the temporary file which will be included to the config.php to load the additional configurations
 | |
| 
 | |
| ## Administrator
 | |
| NEXTCLOUD_ADMINISTRATOR_USER:       "{{ applications | get_app_conf(application_id, 'users.administrator.username') }}"
 | |
| NEXTCLOUD_ADMINISTRATOR_PASSWORD:   "{{ applications | get_app_conf(application_id, 'credentials.administrator_password') }}"
 | |
| 
 | |
| ## Docker
 | |
| 
 | |
| ### Base
 | |
| NEXTCLOUD_VOLUME:                   "{{ applications | get_app_conf(application_id, 'docker.volumes.data') }}"
 | |
| NEXTCLOUD_VERSION:                  "{{ applications | get_app_conf(application_id, 'docker.services.nextcloud.version') }}"
 | |
| NEXTCLOUD_IMAGE:                    "{{ applications | get_app_conf(application_id, 'docker.services.nextcloud.image') }}"
 | |
| NEXTCLOUD_CONTAINER:                "{{ applications | get_app_conf(application_id, 'docker.services.nextcloud.name') }}"
 | |
| 
 | |
| ### Proxy
 | |
| NEXTCLOUD_PROXY_CONTAINER:          "{{ applications | get_app_conf(application_id, 'docker.services.proxy.name') }}"
 | |
| NEXTCLOUD_PROXY_IMAGE:              "{{ applications | get_app_conf(application_id, 'docker.services.proxy.image') }}"
 | |
| NEXTCLOUD_PROXY_VERSION:            "{{ applications | get_app_conf(application_id, 'docker.services.proxy.version') }}"
 | |
| 
 | |
| ### Cron
 | |
| NEXTCLOUD_CRON_CONTAINER:           "{{ applications | get_app_conf(application_id, 'docker.services.cron.name') }}"
 | |
| 
 | |
| ### Talk 
 | |
| #### Service
 | |
| NEXTCLOUD_TALK_CONTAINER:           "{{ applications | get_app_conf(application_id, 'docker.services.talk.name') }}"
 | |
| NEXTCLOUD_TALK_IMAGE:               "{{ applications | get_app_conf(application_id, 'docker.services.talk.image') }}"
 | |
| NEXTCLOUD_TALK_VERSION:             "{{ applications | get_app_conf(application_id, 'docker.services.talk.version') }}"
 | |
| NEXTCLOUD_TALK_ENABLED:             "{{ applications | get_app_conf(application_id, 'docker.services.talk.internal') }}"
 | |
| NEXTCLOUD_TALK_INTERNAL_ENABLED:    "{{ applications | get_app_conf(application_id, 'plugins.spreed.enabled') }}"
 | |
| NEXTCLOUD_TALK_LOCATION:            "/standalone-signaling/"
 | |
| NEXTCLOUD_TALK_PORT_INTERNAL:       "8081"
 | |
| NEXTCLOUD_TALK_INT_TURN_PORT:       "3478"
 | |
| NEXTCLOUD_TALK_RELAY_PORT_START:    "{{ ports.public.relay_port_ranges[application_id ~ '_start'] }}"
 | |
| NEXTCLOUD_TALK_RELAY_PORT_END:      "{{ ports.public.relay_port_ranges[application_id ~ '_end'  ] }}"
 | |
| NEXTCLOUD_TALK_RELAY_PORT_RANGE:    "{{ NEXTCLOUD_TALK_RELAY_PORT_START }}-{{ NEXTCLOUD_TALK_RELAY_PORT_END }}"
 | |
| 
 | |
| # Connection
 | |
| NEXTCLOUD_TALK_STUN_PORT:           "{{ ports.public.stun[application_id] }}"
 | |
| NEXTCLOUD_TALK_DOMAIN:              "{{ NEXTCLOUD_DOMAIN }}"
 | |
| NEXTCLOUD_TALK_URL:                 "{{ [ NEXTCLOUD_URL, NEXTCLOUD_TALK_LOCATION ] | url_join }}"
 | |
| 
 | |
| ### Whiteboard
 | |
| NEXTCLOUD_WHITEBOARD_CONTAINER:     "{{ applications | get_app_conf(application_id, 'docker.services.whiteboard.name') }}"
 | |
| NEXTCLOUD_WHITEBOARD_IMAGE:         "{{ applications | get_app_conf(application_id, 'docker.services.whiteboard.image') }}"
 | |
| NEXTCLOUD_WHITEBOARD_VERSION:       "{{ applications | get_app_conf(application_id, 'docker.services.whiteboard.version') }}"
 | |
| NEXTCLOUD_WHITEBOARD_ENABLED:       "{{ applications | get_app_conf(application_id, 'plugins.whiteboard.enabled') }}"
 | |
| NEXTCLOUD_WHITEBOARD_PORT_INTERNAL: "3002"
 | |
| NEXTCLOUD_WHITEBOARD_JWT:           "{{ applications | get_app_conf(application_id, 'credentials.whiteboard_jwt_secret') }}"
 | |
| NEXTCLOUD_WHITEBOARD_LOCATION:      "/whiteboard/"
 | |
| NEXTCLOUD_WHITEBOARD_URL:           "{{ [ NEXTCLOUD_URL, NEXTCLOUD_WHITEBOARD_LOCATION ] | url_join }}"
 | |
| 
 | |
| ### Collabora
 | |
| NEXTCLOUD_COLLABORA_URL:            "{{ domains | get_url('web-svc-collabora', WEB_PROTOCOL) }}"
 | |
| 
 | |
| ## User Configuration
 | |
| NEXTCLOUD_DOCKER_USER_id:           82                                                            # UID of the www-data user
 | |
| NEXTCLOUD_DOCKER_USER:              "www-data"                                                    # Name of the www-data user (Set here to easy change it in the future)
 | |
| 
 | |
| ## Execution
 | |
| NEXTCLOUD_INTERNAL_OCC_COMMAND:     "{{ [ NEXTCLOUD_DOCKER_WORK_DIRECTORY, 'occ'] | path_join }}"
 | |
| NEXTCLOUD_DOCKER_EXEC:              "docker exec -u {{ NEXTCLOUD_DOCKER_USER }} {{ NEXTCLOUD_CONTAINER }}"  # General execute composition
 | |
| NEXTCLOUD_DOCKER_EXEC_OCC:          "{{ NEXTCLOUD_DOCKER_EXEC }} {{ NEXTCLOUD_INTERNAL_OCC_COMMAND }}"      # Execute docker occ command |