parent
10983b4d5e
commit
7652807930
@ -0,0 +1,18 @@ |
||||
# Basic configuration to use with the traefik reverse proxy |
||||
|
||||
Note: Tested with traefik 2.1.3 |
||||
|
||||
- When running behind traefik, it's a better practice to remove the port-binds for the web service. |
||||
- The provided example uses an external network with the name "web". This is the network which moste likely was created while setting up traefik. |
||||
- Look for comments starting with **#traefik:** to see the changes made in docker-compose.yml. |
||||
- Traefik obtains Let's Encrypt certificates automatically. |
||||
|
||||
Uncomment and set DOCKER_HOST_ADDRESS in .env. I'm pretty sure, that this is mandatory for the docker-setup and should be clearer in the original README. Could be the proxying, didn't investigate further. |
||||
|
||||
## TODO |
||||
|
||||
Add or rewrite the example with docker-compose extends |
||||
|
||||
````env |
||||
DOCKER_HOST_ADDRESS=1.2.3.4 |
||||
```` |
@ -0,0 +1,174 @@ |
||||
version: '3' |
||||
|
||||
services: |
||||
# Frontend |
||||
web: |
||||
image: jitsi/web |
||||
volumes: |
||||
- ${CONFIG}/web:/config |
||||
- ${CONFIG}/web/letsencrypt:/etc/letsencrypt |
||||
- ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts |
||||
environment: |
||||
- ENABLE_AUTH |
||||
- ENABLE_GUESTS |
||||
- ENABLE_LETSENCRYPT |
||||
- ENABLE_HTTP_REDIRECT |
||||
- ENABLE_TRANSCRIPTIONS |
||||
- DISABLE_HTTPS |
||||
- JICOFO_AUTH_USER |
||||
- LETSENCRYPT_DOMAIN |
||||
- LETSENCRYPT_EMAIL |
||||
- PUBLIC_URL |
||||
- XMPP_DOMAIN |
||||
- XMPP_AUTH_DOMAIN |
||||
- XMPP_BOSH_URL_BASE |
||||
- XMPP_GUEST_DOMAIN |
||||
- XMPP_MUC_DOMAIN |
||||
- XMPP_RECORDER_DOMAIN |
||||
- ETHERPAD_URL_BASE |
||||
- TZ |
||||
- JIBRI_BREWERY_MUC |
||||
- JIBRI_PENDING_TIMEOUT |
||||
- JIBRI_XMPP_USER |
||||
- JIBRI_XMPP_PASSWORD |
||||
- JIBRI_RECORDER_USER |
||||
- JIBRI_RECORDER_PASSWORD |
||||
- ENABLE_RECORDING |
||||
networks: |
||||
# traefik: change the following line to your external docker network |
||||
web: |
||||
meet.jitsi: |
||||
aliases: |
||||
- ${XMPP_DOMAIN} |
||||
labels: |
||||
traefik.http.middlewares.redirect.redirectscheme.scheme: https |
||||
traefik.http.routers.app-http.entrypoints: web |
||||
traefik.http.routers.app-http.middlewares: redirect |
||||
traefik.http.routers.app-http.rule: 'Host(`your.host.name`)' |
||||
traefik.http.routers.app.entrypoints: websecure |
||||
traefik.http.routers.app.rule: 'Host(`your.host.name`)' |
||||
traefik.http.routers.app.tls: 'true' |
||||
traefik.http.routers.app.tls.certresolver: le |
||||
traefik.http.services.app.loadbalancer.server.port: 80 |
||||
|
||||
# XMPP server |
||||
prosody: |
||||
image: jitsi/prosody |
||||
expose: |
||||
- '5222' |
||||
- '5347' |
||||
- '5280' |
||||
volumes: |
||||
- ${CONFIG}/prosody:/config |
||||
environment: |
||||
- AUTH_TYPE |
||||
- ENABLE_AUTH |
||||
- ENABLE_GUESTS |
||||
- GLOBAL_MODULES |
||||
- GLOBAL_CONFIG |
||||
- LDAP_URL |
||||
- LDAP_BASE |
||||
- LDAP_BINDDN |
||||
- LDAP_BINDPW |
||||
- LDAP_FILTER |
||||
- LDAP_AUTH_METHOD |
||||
- LDAP_VERSION |
||||
- LDAP_USE_TLS |
||||
- LDAP_TLS_CIPHERS |
||||
- LDAP_TLS_CHECK_PEER |
||||
- LDAP_TLS_CACERT_FILE |
||||
- LDAP_TLS_CACERT_DIR |
||||
- LDAP_START_TLS |
||||
- XMPP_DOMAIN |
||||
- XMPP_AUTH_DOMAIN |
||||
- XMPP_GUEST_DOMAIN |
||||
- XMPP_MUC_DOMAIN |
||||
- XMPP_INTERNAL_MUC_DOMAIN |
||||
- XMPP_MODULES |
||||
- XMPP_MUC_MODULES |
||||
- XMPP_INTERNAL_MUC_MODULES |
||||
- XMPP_RECORDER_DOMAIN |
||||
- JICOFO_COMPONENT_SECRET |
||||
- JICOFO_AUTH_USER |
||||
- JICOFO_AUTH_PASSWORD |
||||
- JVB_AUTH_USER |
||||
- JVB_AUTH_PASSWORD |
||||
- JIGASI_XMPP_USER |
||||
- JIGASI_XMPP_PASSWORD |
||||
- JIBRI_XMPP_USER |
||||
- JIBRI_XMPP_PASSWORD |
||||
- JIBRI_RECORDER_USER |
||||
- JIBRI_RECORDER_PASSWORD |
||||
- JWT_APP_ID |
||||
- JWT_APP_SECRET |
||||
- JWT_ACCEPTED_ISSUERS |
||||
- JWT_ACCEPTED_AUDIENCES |
||||
- JWT_ASAP_KEYSERVER |
||||
- JWT_ALLOW_EMPTY |
||||
- JWT_AUTH_TYPE |
||||
- JWT_TOKEN_AUTH_MODULE |
||||
- LOG_LEVEL |
||||
- TZ |
||||
networks: |
||||
meet.jitsi: |
||||
aliases: |
||||
- ${XMPP_SERVER} |
||||
|
||||
# Focus component |
||||
jicofo: |
||||
image: jitsi/jicofo |
||||
volumes: |
||||
- ${CONFIG}/jicofo:/config |
||||
environment: |
||||
- ENABLE_AUTH |
||||
- XMPP_DOMAIN |
||||
- XMPP_AUTH_DOMAIN |
||||
- XMPP_INTERNAL_MUC_DOMAIN |
||||
- XMPP_SERVER |
||||
- JICOFO_COMPONENT_SECRET |
||||
- JICOFO_AUTH_USER |
||||
- JICOFO_AUTH_PASSWORD |
||||
- JICOFO_RESERVATION_REST_BASE_URL |
||||
- JVB_BREWERY_MUC |
||||
- JIGASI_BREWERY_MUC |
||||
- JIBRI_BREWERY_MUC |
||||
- JIBRI_PENDING_TIMEOUT |
||||
- TZ |
||||
depends_on: |
||||
- prosody |
||||
networks: |
||||
meet.jitsi: |
||||
|
||||
# Video bridge |
||||
jvb: |
||||
image: jitsi/jvb |
||||
ports: |
||||
- '${JVB_PORT}:${JVB_PORT}/udp' |
||||
- '${JVB_TCP_PORT}:${JVB_TCP_PORT}' |
||||
volumes: |
||||
- ${CONFIG}/jvb:/config |
||||
environment: |
||||
- DOCKER_HOST_ADDRESS |
||||
- XMPP_AUTH_DOMAIN |
||||
- XMPP_INTERNAL_MUC_DOMAIN |
||||
- XMPP_SERVER |
||||
- JVB_AUTH_USER |
||||
- JVB_AUTH_PASSWORD |
||||
- JVB_BREWERY_MUC |
||||
- JVB_PORT |
||||
- JVB_TCP_HARVESTER_DISABLED |
||||
- JVB_TCP_PORT |
||||
- JVB_STUN_SERVERS |
||||
- JVB_ENABLE_APIS |
||||
- TZ |
||||
depends_on: |
||||
- prosody |
||||
networks: |
||||
meet.jitsi: |
||||
|
||||
# Custom network so all services can communicate using a FQDN |
||||
networks: |
||||
meet.jitsi: |
||||
# traefik: change the following line to your external docker network |
||||
web: |
||||
external: true |
Loading…
Reference in new issue