141 lines
3.6 KiB
YAML
141 lines
3.6 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
app:
|
|
image: jitsi/web:stable-8719
|
|
volumes:
|
|
- jitsiconfig:/config
|
|
- jitsicrontabs:/var/spool/cron/crontabs
|
|
- jitsitranscripts:/usr/share/jitsi-meet/transcripts
|
|
- ${EXTRA_VOLUME}
|
|
environment:
|
|
- CONFIG
|
|
- HTTP_PORT
|
|
- HTTPS_PORT
|
|
- TZ
|
|
- PUBLIC_URL
|
|
networks:
|
|
- proxy
|
|
- internal
|
|
deploy:
|
|
update_config:
|
|
failure_action: rollback
|
|
order: start-first
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=proxy"
|
|
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80"
|
|
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
|
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
|
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
|
- "caddy=${DOMAIN}"
|
|
- "caddy.reverse_proxy={{upstreams 80}}"
|
|
- "caddy.tls.on_demand="
|
|
- "coop-cloud.${STACK_NAME}.version=0.0.1+8719"
|
|
|
|
prosody:
|
|
image: jitsi/prosody:stable-8719
|
|
volumes:
|
|
- jitsiprosodyconfig:/config
|
|
- jitsiprosody:/prosody-plugins-custom
|
|
environment:
|
|
- JICOFO_AUTH_PASSWORD_FILE=/run/secrets/jicofo_auth_password
|
|
- JVB_AUTH_PASSWORD_FILE=/run/secrets/jvb_auth_password
|
|
configs:
|
|
- source: entrypoint
|
|
target: /custom-entrypoint.sh
|
|
mode: 555
|
|
entrypoint: /custom-entrypoint.sh
|
|
secrets:
|
|
- jicofo_auth_password
|
|
- jvb_auth_password
|
|
networks:
|
|
internal:
|
|
aliases:
|
|
- ${XMPP_SERVER:-xmpp.meet.jitsi}
|
|
deploy:
|
|
update_config:
|
|
failure_action: rollback
|
|
order: start-first
|
|
|
|
jicofo:
|
|
image: jitsi/jicofo:stable-8719
|
|
volumes:
|
|
- jitsijicofoconfig:/config
|
|
environment:
|
|
- JICOFO_AUTH_PASSWORD_FILE=/run/secrets/jicofo_auth_password
|
|
configs:
|
|
- source: entrypoint
|
|
target: /custom-entrypoint.sh
|
|
mode: 555
|
|
entrypoint: /custom-entrypoint.sh
|
|
secrets:
|
|
- jicofo_auth_password
|
|
depends_on:
|
|
- prosody
|
|
networks:
|
|
internal:
|
|
deploy:
|
|
update_config:
|
|
failure_action: rollback
|
|
order: start-first
|
|
|
|
jvb:
|
|
image: jitsi/jvb:stable-8719
|
|
volumes:
|
|
- jitsijvbconfig:/config
|
|
environment:
|
|
- JVB_AUTH_PASSWORD_FILE=/run/secrets/jvb_auth_password
|
|
- JVB_WS_DOMAIN
|
|
- JVB_ADVERTISE_IPS
|
|
- XMPP_SERVER
|
|
configs:
|
|
- source: entrypoint
|
|
target: /custom-entrypoint.sh
|
|
mode: 555
|
|
entrypoint: /custom-entrypoint.sh
|
|
secrets:
|
|
- jvb_auth_password
|
|
depends_on:
|
|
- prosody
|
|
ports:
|
|
# - '0.0.0.0:10000:10000/udp'
|
|
- '127.0.0.1:8080:8080'
|
|
networks:
|
|
internal:
|
|
deploy:
|
|
update_config:
|
|
failure_action: rollback
|
|
order: start-first
|
|
labels:
|
|
- "traefik.udp.routers.${STACK_NAME}-jvb.rule=HostSNI(`*`)"
|
|
- "traefik.udp.routers.${STACK_NAME}-jvb.entrypoints=udp-10000"
|
|
- "traefik.udp.services.${STACK_NAME}-jvb.loadbalancer.server.port=10000"
|
|
|
|
secrets:
|
|
jicofo_auth_password:
|
|
external: true
|
|
name: ${STACK_NAME}_jicofo_auth_password_${SECRET_JICOFO_AUTH_PASSWORD_VERSION}
|
|
jvb_auth_password:
|
|
external: true
|
|
name: ${STACK_NAME}_jvb_auth_password_${SECRET_JVB_AUTH_PASSWORD_VERSION}
|
|
|
|
volumes:
|
|
jitsiconfig:
|
|
jitsicrontabs:
|
|
jitsitranscripts:
|
|
jitsiprosodyconfig:
|
|
jitsiprosody:
|
|
jitsijicofoconfig:
|
|
jitsijvbconfig:
|
|
|
|
configs:
|
|
entrypoint:
|
|
name: ${STACK_NAME}_entrypoint_${ENTRYPOINT_VERSION}
|
|
file: entrypoint.sh.tmpl
|
|
template_driver: golang
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
internal: |