parent
ed410d9e0a
commit
33584a5ba5
@ -0,0 +1,24 @@ |
||||
# DOCKER STACK |
||||
|
||||
In order to make jitsi docker-compose config work with docker stack we have to take in consideration several things |
||||
1. docker doesnt handle dots (`.`) in the network names due to the internal DNS |
||||
2. docker-compose interpolates the configuration set in the `.env` file while docker itself doesn't |
||||
|
||||
## 1. Fixing the network |
||||
|
||||
If you examine the main `docker-compose.yml` file, yo will realize that you can set a name for docker to handle and |
||||
another (alias) for docker to expose. Whith this _alias_ trick we can make XMPP support our network 'domain' |
||||
|
||||
## 2. Interpolating the configuration |
||||
|
||||
Start with the commands as stated in the main README.md. Simply copy the example config into your personal `.env` |
||||
file and customize it. Once you have it ready generate the deployment with all the interpolated values with |
||||
``` |
||||
docker-compose config > deployment.yml |
||||
``` |
||||
If you examine the `deployment.yml` you will realize all your variables are set already |
||||
|
||||
Now you can start your docker stack like you would normaly do |
||||
``` |
||||
docker stack deploy --compose-file deployment.yml jitsi |
||||
``` |
@ -0,0 +1,166 @@ |
||||
version: '3' |
||||
|
||||
services: |
||||
# Frontend |
||||
web: |
||||
image: jitsi/web |
||||
ports: |
||||
- '${HTTP_PORT}:80' |
||||
- '${HTTPS_PORT}:443' |
||||
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: |
||||
meet_jitsi: |
||||
aliases: |
||||
- ${XMPP_DOMAIN} |
||||
|
||||
# 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: |
||||
aliases: |
||||
- 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: |
||||
aliases: |
||||
- meet.jitsi |
||||
|
||||
# Custom network so all services can communicate using a FQDN |
||||
networks: |
||||
meet_jitsi: |
Loading…
Reference in new issue