docker-compose.yml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. version: '3'
  2. services:
  3. # Frontend
  4. web:
  5. image: jitsi/web
  6. volumes:
  7. - ${CONFIG}/web:/config
  8. - ${CONFIG}/web/letsencrypt:/etc/letsencrypt
  9. - ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts
  10. environment:
  11. - ENABLE_AUTH
  12. - ENABLE_GUESTS
  13. - ENABLE_LETSENCRYPT
  14. - ENABLE_HTTP_REDIRECT
  15. - ENABLE_TRANSCRIPTIONS
  16. - DISABLE_HTTPS
  17. - JICOFO_AUTH_USER
  18. - LETSENCRYPT_DOMAIN
  19. - LETSENCRYPT_EMAIL
  20. - PUBLIC_URL
  21. - XMPP_DOMAIN
  22. - XMPP_AUTH_DOMAIN
  23. - XMPP_BOSH_URL_BASE
  24. - XMPP_GUEST_DOMAIN
  25. - XMPP_MUC_DOMAIN
  26. - XMPP_RECORDER_DOMAIN
  27. - ETHERPAD_URL_BASE
  28. - TZ
  29. - JIBRI_BREWERY_MUC
  30. - JIBRI_PENDING_TIMEOUT
  31. - JIBRI_XMPP_USER
  32. - JIBRI_XMPP_PASSWORD
  33. - JIBRI_RECORDER_USER
  34. - JIBRI_RECORDER_PASSWORD
  35. - ENABLE_RECORDING
  36. networks:
  37. # traefik: change the following line to your external docker network
  38. web:
  39. meet.jitsi:
  40. aliases:
  41. - ${XMPP_DOMAIN}
  42. labels:
  43. # traefik: change that to your external network
  44. - "traefik.docker.network=web"
  45. - "traefik.enable=true"
  46. - "traefik.backend=jc_backend"
  47. # traefik: change that to your actual fqdn
  48. - "traefik.basic.frontend.rule=Host:your.host.name"
  49. - "traefik.basic.port=80"
  50. # XMPP server
  51. prosody:
  52. image: jitsi/prosody
  53. expose:
  54. - '5222'
  55. - '5347'
  56. - '5280'
  57. volumes:
  58. - ${CONFIG}/prosody:/config
  59. environment:
  60. - AUTH_TYPE
  61. - ENABLE_AUTH
  62. - ENABLE_GUESTS
  63. - GLOBAL_MODULES
  64. - GLOBAL_CONFIG
  65. - LDAP_URL
  66. - LDAP_BASE
  67. - LDAP_BINDDN
  68. - LDAP_BINDPW
  69. - LDAP_FILTER
  70. - LDAP_AUTH_METHOD
  71. - LDAP_VERSION
  72. - LDAP_USE_TLS
  73. - LDAP_TLS_CIPHERS
  74. - LDAP_TLS_CHECK_PEER
  75. - LDAP_TLS_CACERT_FILE
  76. - LDAP_TLS_CACERT_DIR
  77. - LDAP_START_TLS
  78. - XMPP_DOMAIN
  79. - XMPP_AUTH_DOMAIN
  80. - XMPP_GUEST_DOMAIN
  81. - XMPP_MUC_DOMAIN
  82. - XMPP_INTERNAL_MUC_DOMAIN
  83. - XMPP_MODULES
  84. - XMPP_MUC_MODULES
  85. - XMPP_INTERNAL_MUC_MODULES
  86. - XMPP_RECORDER_DOMAIN
  87. - JICOFO_COMPONENT_SECRET
  88. - JICOFO_AUTH_USER
  89. - JICOFO_AUTH_PASSWORD
  90. - JVB_AUTH_USER
  91. - JVB_AUTH_PASSWORD
  92. - JIGASI_XMPP_USER
  93. - JIGASI_XMPP_PASSWORD
  94. - JIBRI_XMPP_USER
  95. - JIBRI_XMPP_PASSWORD
  96. - JIBRI_RECORDER_USER
  97. - JIBRI_RECORDER_PASSWORD
  98. - JWT_APP_ID
  99. - JWT_APP_SECRET
  100. - JWT_ACCEPTED_ISSUERS
  101. - JWT_ACCEPTED_AUDIENCES
  102. - JWT_ASAP_KEYSERVER
  103. - JWT_ALLOW_EMPTY
  104. - JWT_AUTH_TYPE
  105. - JWT_TOKEN_AUTH_MODULE
  106. - LOG_LEVEL
  107. - TZ
  108. networks:
  109. meet.jitsi:
  110. aliases:
  111. - ${XMPP_SERVER}
  112. # Focus component
  113. jicofo:
  114. image: jitsi/jicofo
  115. volumes:
  116. - ${CONFIG}/jicofo:/config
  117. environment:
  118. - ENABLE_AUTH
  119. - XMPP_DOMAIN
  120. - XMPP_AUTH_DOMAIN
  121. - XMPP_INTERNAL_MUC_DOMAIN
  122. - XMPP_SERVER
  123. - JICOFO_COMPONENT_SECRET
  124. - JICOFO_AUTH_USER
  125. - JICOFO_AUTH_PASSWORD
  126. - JICOFO_RESERVATION_REST_BASE_URL
  127. - JVB_BREWERY_MUC
  128. - JIGASI_BREWERY_MUC
  129. - JIBRI_BREWERY_MUC
  130. - JIBRI_PENDING_TIMEOUT
  131. - TZ
  132. depends_on:
  133. - prosody
  134. networks:
  135. meet.jitsi:
  136. # Video bridge
  137. jvb:
  138. image: jitsi/jvb
  139. ports:
  140. - '${JVB_PORT}:${JVB_PORT}/udp'
  141. - '${JVB_TCP_PORT}:${JVB_TCP_PORT}'
  142. volumes:
  143. - ${CONFIG}/jvb:/config
  144. environment:
  145. - DOCKER_HOST_ADDRESS
  146. - XMPP_AUTH_DOMAIN
  147. - XMPP_INTERNAL_MUC_DOMAIN
  148. - XMPP_SERVER
  149. - JVB_AUTH_USER
  150. - JVB_AUTH_PASSWORD
  151. - JVB_BREWERY_MUC
  152. - JVB_PORT
  153. - JVB_TCP_HARVESTER_DISABLED
  154. - JVB_TCP_PORT
  155. - JVB_STUN_SERVERS
  156. - JVB_ENABLE_APIS
  157. - TZ
  158. depends_on:
  159. - prosody
  160. networks:
  161. meet.jitsi:
  162. # Custom network so all services can communicate using a FQDN
  163. networks:
  164. meet.jitsi:
  165. # traefik: change the following line to your external docker network
  166. web:
  167. external: true