--- - name: Jitsi meet docker network docker_network: name: meet.jitsi - name: Jitsi meet web docker_container: name: 'jitsi_meet_web' image: 'jitsi/web:latest' pull: true container_default_behavior: no_defaults published_ports: - "{{ localhost_ip }}:{{ ports.jitsi_http }}:80" env: DISABLE_HTTPS: '1' PUBLIC_URL: "{{ jitsi_external_url }}" TZ: "{{ timezone }}" ENABLE_PREJOIN_PAGE: '1' ENABLE_REQUIRE_DISPLAY_NAME: '1' ENABLE_NOISY_MIC_DETECTION: '0' ENABLE_RECORDING: '0' JICOFO_AUTH_USER: focus XMPP_BOSH_URL_BASE: 'http://xmpp.meet.jitsi:5280' XMPP_DOMAIN: meet.jitsi XMPP_AUTH_DOMAIN: auth.meet.jitsi XMPP_MUC_DOMAIN: muc.meet.jitsi restart_policy: always networks: - name: meet.jitsi aliases: - meet.jitsi - name: Jitsi meet prosody docker_container: name: 'jitsi_meet_prosody' image: 'jitsi/prosody:latest' pull: true container_default_behavior: no_defaults env: PUBLIC_URL: "{{ jitsi_external_url }}" TZ: "{{ timezone }}" ENABLE_LOBBY: '1' JICOFO_COMPONENT_SECRET: "{{ jitsi_pw.jicofo_component }}" JICOFO_AUTH_USER: focus JICOFO_AUTH_PASSWORD: "{{ jitsi_pw.jicofo_auth }}" JVB_AUTH_USER: jvb JVB_AUTH_PASSWORD: "{{ jitsi_pw.jvb_auth }}" XMPP_DOMAIN: meet.jitsi XMPP_AUTH_DOMAIN: auth.meet.jitsi XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi XMPP_MUC_DOMAIN: muc.meet.jitsi restart_policy: always exposed_ports: - '5222' - '5347' networks: - name: meet.jitsi aliases: - xmpp.meet.jitsi - name: Jitsi meet jicofo docker_container: name: 'jitsi_meet_jicofo' image: 'jitsi/jicofo:latest' pull: true container_default_behavior: no_defaults env: TZ: "{{ timezone }}" JVB_BREWERY_MUC: jvbbrewery JICOFO_COMPONENT_SECRET: "{{ jitsi_pw.jicofo_component }}" JICOFO_AUTH_USER: focus JICOFO_AUTH_PASSWORD: "{{ jitsi_pw.jicofo_auth }}" XMPP_DOMAIN: meet.jitsi XMPP_AUTH_DOMAIN: auth.meet.jitsi XMPP_MUC_DOMAIN: muc.meet.jitsi XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi XMPP_SERVER: xmpp.meet.jitsi ENABLE_RECORDING: '0' restart_policy: always networks: - name: meet.jitsi aliases: - meet.jitsi - name: Jitsi meet video bridge docker_container: name: 'jitsi_meet_jvb' image: 'jitsi/jvb:latest' pull: true container_default_behavior: no_defaults published_ports: - "{{ ports.jitsi_jvb | default(10000) }}:10000/udp" - "{{ ports.jitsi_jvb_tcp | default(4443) }}:4443" env: PUBLIC_URL: "{{ jitsi_external_url }}" TZ: "{{ timezone }}" JVB_PORT: '10000' JVB_TCP_PORT: '4443' JVB_TCP_HARVESTER_DISABLED: 'false' JVB_BREWERY_MUC: jvbbrewery JVB_STUN_SERVERS: 'meet-jit-si-turnrelay.jitsi.net:443' JVB_AUTH_USER: jvb JVB_AUTH_PASSWORD: "{{ jitsi_pw.jvb_auth }}" XMPP_AUTH_DOMAIN: auth.meet.jitsi XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi XMPP_SERVER: xmpp.meet.jitsi restart_policy: always networks: - name: meet.jitsi aliases: - meet.jitsi - name: Add caddy reverse proxy config blockinfile: path: /etc/caddy/Caddyfile marker: "# {mark} ANSIBLE MANAGED BLOCK jitsi" block: | {{ jitsi_external_url }} { reverse_proxy http://{{ localhost_ip }}:{{ ports.jitsi_http }} } validate: 'caddy validate --config %s --adapter caddyfile' backup: true notify: reload caddy