mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-09-08 19:27:18 +02:00
- Enable Spreed (Talk); signaling via /standalone-signaling/ - STUN/TURN: move STUN to 3480 (3479 occupied by BBB), keep TURN 5350 reserved - docker-compose: expose internal WS ports; explicit TURN port mapping - Healthchecks: add nc-based TCP checks (roles/docker-container/templates/healthcheck/nc.yml.j2) - Nginx: location proxy to talk:8081 - Schema: add talk_* secrets (turn/signaling/internal) - Plugins: configure spreed/whiteboard via vars/*; remove old task files - Ports matrix (group_vars/all/09_ports.yml) updated/commented Conversation: https://chatgpt.com/share/68b61a6a-e1dc-800f-b793-4aa600bc0166
92 lines
3.3 KiB
Django/Jinja
92 lines
3.3 KiB
Django/Jinja
{% include 'roles/docker-compose/templates/base.yml.j2' %}
|
|
|
|
proxy:
|
|
image: "{{ NEXTCLOUD_PROXY_IMAGE }}:{{ NEXTCLOUD_PROXY_VERSION }}"
|
|
container_name: "{{ NEXTCLOUD_PROXY_CONTAINER }}"
|
|
logging:
|
|
driver: journald
|
|
restart: {{ DOCKER_RESTART_POLICY }}
|
|
ports:
|
|
- "127.0.0.1:{{ ports.localhost.http[application_id] }}:{{ container_port }}"
|
|
volumes:
|
|
- "{{ docker_compose.directories.volumes }}nginx.conf:/etc/nginx/nginx.conf:ro"
|
|
volumes_from:
|
|
- application
|
|
|
|
{% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %}
|
|
networks:
|
|
default:
|
|
ipv4_address: 192.168.102.67
|
|
|
|
application:
|
|
image: "{{ NEXTCLOUD_IMAGE }}:{{ NEXTCLOUD_VERSION }}"
|
|
container_name: {{ NEXTCLOUD_CONTAINER }}
|
|
volumes:
|
|
- data:{{ NEXTCLOUD_DOCKER_WORK_DIRECTORY }}
|
|
- {{ NEXTCLOUD_HOST_CONF_ADD_PATH }}:{{ NEXTCLOUD_DOCKER_CONF_ADD_PATH }}:ro
|
|
healthcheck:
|
|
test: ["CMD", "su", "www-data", "-s", "/bin/sh", "-c", "php {{ NEXTCLOUD_DOCKER_WORK_DIRECTORY }}occ status"]
|
|
interval: 1m
|
|
timeout: 10s
|
|
retries: 3
|
|
{% include 'roles/docker-container/templates/base.yml.j2' %}
|
|
{% include 'roles/docker-container/templates/depends_on/dmbs_excl.yml.j2' %}
|
|
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
|
ipv4_address: 192.168.102.69
|
|
|
|
{% if NEXTCLOUD_TALK_ENABLED %}
|
|
talk:
|
|
{% set container_port = NEXTCLOUD_TALK_INTERNAL_PORT %}
|
|
{% include 'roles/docker-container/templates/base.yml.j2' %}
|
|
{% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %}
|
|
image: "{{ NEXTCLOUD_TALK_IMAGE }}:{{ NEXTCLOUD_TALK_VERSION }}"
|
|
container_name: {{ NEXTCLOUD_TALK_CONTAINER }}
|
|
init: true
|
|
ports:
|
|
- {{ networks.internet.ip4 }}:{{ NEXTCLOUD_TALK_STUN_PORT }}:{{ NEXTCLOUD_TALK_INT_TURN_PORT }}/tcp #TURN TCP
|
|
- {{ networks.internet.ip4 }}:{{ NEXTCLOUD_TALK_STUN_PORT }}:{{ NEXTCLOUD_TALK_INT_TURN_PORT }}/udp #TURN UDP
|
|
expose:
|
|
- "{{ container_port }}"
|
|
networks:
|
|
default:
|
|
ipv4_address: 192.168.102.68
|
|
{% endif %}
|
|
|
|
{% if NEXTCLOUD_WHITEBOARD_ENABLED %}
|
|
whiteboard:
|
|
{% set container_port = NEXTCLOUD_WHITEBOARD_INTERNAL_PORT %}
|
|
{% include 'roles/docker-container/templates/base.yml.j2' %}
|
|
{% include 'roles/docker-container/templates/healthcheck/nc.yml.j2' %}
|
|
image: "{{ NEXTCLOUD_WHITEBOARD_IMAGE }}:{{ NEXTCLOUD_WHITEBOARD_VERSION }}"
|
|
container_name: {{ NEXTCLOUD_WHITEBOARD_CONTAINER }}
|
|
expose:
|
|
- "{{ container_port }}"
|
|
networks:
|
|
default:
|
|
ipv4_address: 192.168.102.71
|
|
{% endif %}
|
|
|
|
cron:
|
|
container_name: "{{ NEXTCLOUD_CRON_CONTAINER }}"
|
|
image: "{{ NEXTCLOUD_IMAGE }}:{{ NEXTCLOUD_VERSION }}"
|
|
restart: {{ DOCKER_RESTART_POLICY }}
|
|
logging:
|
|
driver: journald
|
|
volumes:
|
|
- data:{{ NEXTCLOUD_DOCKER_WORK_DIRECTORY }}
|
|
entrypoint: /cron.sh
|
|
healthcheck:
|
|
test: ["CMD", "su", "www-data", "-s", "/bin/sh", "-c", "php {{ NEXTCLOUD_DOCKER_WORK_DIRECTORY }}occ status"]
|
|
interval: 1m
|
|
timeout: 10s
|
|
retries: 3
|
|
{% include 'roles/docker-container/templates/depends_on/dmbs_excl.yml.j2' %}
|
|
{% include 'roles/docker-container/templates/networks.yml.j2' %}
|
|
ipv4_address: 192.168.102.70
|
|
|
|
{% include 'roles/docker-compose/templates/volumes.yml.j2' %}
|
|
data:
|
|
name: {{ NEXTCLOUD_VOLUME }}
|
|
|
|
{% include 'roles/docker-compose/templates/networks.yml.j2' %}
|