2
0

docker-compose.yml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  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. - ETHERPAD_PUBLIC_URL
  29. - TZ
  30. - JIBRI_BREWERY_MUC
  31. - JIBRI_PENDING_TIMEOUT
  32. - JIBRI_XMPP_USER
  33. - JIBRI_XMPP_PASSWORD
  34. - JIBRI_RECORDER_USER
  35. - JIBRI_RECORDER_PASSWORD
  36. - ENABLE_RECORDING
  37. networks:
  38. # traefik: change the following line to your external docker network
  39. web:
  40. meet.jitsi:
  41. aliases:
  42. - ${XMPP_DOMAIN}
  43. labels:
  44. traefik.http.middlewares.redirect.redirectscheme.scheme: https
  45. traefik.http.routers.app-http.entrypoints: web
  46. traefik.http.routers.app-http.middlewares: redirect
  47. traefik.http.routers.app-http.rule: 'Host(`your.host.name`)'
  48. traefik.http.routers.app.entrypoints: websecure
  49. traefik.http.routers.app.rule: 'Host(`your.host.name`)'
  50. traefik.http.routers.app.tls: 'true'
  51. traefik.http.routers.app.tls.certresolver: le
  52. traefik.http.services.app.loadbalancer.server.port: 80
  53. # XMPP server
  54. prosody:
  55. image: jitsi/prosody
  56. expose:
  57. - '5222'
  58. - '5347'
  59. - '5280'
  60. volumes:
  61. - ${CONFIG}/prosody:/config
  62. environment:
  63. - AUTH_TYPE
  64. - ENABLE_AUTH
  65. - ENABLE_GUESTS
  66. - GLOBAL_MODULES
  67. - GLOBAL_CONFIG
  68. - LDAP_URL
  69. - LDAP_BASE
  70. - LDAP_BINDDN
  71. - LDAP_BINDPW
  72. - LDAP_FILTER
  73. - LDAP_AUTH_METHOD
  74. - LDAP_VERSION
  75. - LDAP_USE_TLS
  76. - LDAP_TLS_CIPHERS
  77. - LDAP_TLS_CHECK_PEER
  78. - LDAP_TLS_CACERT_FILE
  79. - LDAP_TLS_CACERT_DIR
  80. - LDAP_START_TLS
  81. - XMPP_DOMAIN
  82. - XMPP_AUTH_DOMAIN
  83. - XMPP_GUEST_DOMAIN
  84. - XMPP_MUC_DOMAIN
  85. - XMPP_INTERNAL_MUC_DOMAIN
  86. - XMPP_MODULES
  87. - XMPP_MUC_MODULES
  88. - XMPP_INTERNAL_MUC_MODULES
  89. - XMPP_RECORDER_DOMAIN
  90. - JICOFO_COMPONENT_SECRET
  91. - JICOFO_AUTH_USER
  92. - JICOFO_AUTH_PASSWORD
  93. - JVB_AUTH_USER
  94. - JVB_AUTH_PASSWORD
  95. - JIGASI_XMPP_USER
  96. - JIGASI_XMPP_PASSWORD
  97. - JIBRI_XMPP_USER
  98. - JIBRI_XMPP_PASSWORD
  99. - JIBRI_RECORDER_USER
  100. - JIBRI_RECORDER_PASSWORD
  101. - JWT_APP_ID
  102. - JWT_APP_SECRET
  103. - JWT_ACCEPTED_ISSUERS
  104. - JWT_ACCEPTED_AUDIENCES
  105. - JWT_ASAP_KEYSERVER
  106. - JWT_ALLOW_EMPTY
  107. - JWT_AUTH_TYPE
  108. - JWT_TOKEN_AUTH_MODULE
  109. - LOG_LEVEL
  110. - TZ
  111. networks:
  112. meet.jitsi:
  113. aliases:
  114. - ${XMPP_SERVER}
  115. # Focus component
  116. jicofo:
  117. image: jitsi/jicofo
  118. volumes:
  119. - ${CONFIG}/jicofo:/config
  120. environment:
  121. - ENABLE_AUTH
  122. - XMPP_DOMAIN
  123. - XMPP_AUTH_DOMAIN
  124. - XMPP_INTERNAL_MUC_DOMAIN
  125. - XMPP_SERVER
  126. - JICOFO_COMPONENT_SECRET
  127. - JICOFO_AUTH_USER
  128. - JICOFO_AUTH_PASSWORD
  129. - JICOFO_RESERVATION_REST_BASE_URL
  130. - JVB_BREWERY_MUC
  131. - JIGASI_BREWERY_MUC
  132. - JIBRI_BREWERY_MUC
  133. - JIBRI_PENDING_TIMEOUT
  134. - TZ
  135. depends_on:
  136. - prosody
  137. networks:
  138. meet.jitsi:
  139. # Video bridge
  140. jvb:
  141. image: jitsi/jvb
  142. ports:
  143. - '${JVB_PORT}:${JVB_PORT}/udp'
  144. - '${JVB_TCP_MAPPED_PORT}:${JVB_TCP_PORT}'
  145. volumes:
  146. - ${CONFIG}/jvb:/config
  147. environment:
  148. - DOCKER_HOST_ADDRESS
  149. - XMPP_AUTH_DOMAIN
  150. - XMPP_INTERNAL_MUC_DOMAIN
  151. - XMPP_SERVER
  152. - JVB_AUTH_USER
  153. - JVB_AUTH_PASSWORD
  154. - JVB_BREWERY_MUC
  155. - JVB_PORT
  156. - JVB_TCP_HARVESTER_DISABLED
  157. - JVB_TCP_PORT
  158. - JVB_STUN_SERVERS
  159. - JVB_ENABLE_APIS
  160. - TZ
  161. depends_on:
  162. - prosody
  163. networks:
  164. meet.jitsi:
  165. labels:
  166. traefik.udp.routers.jvb.entrypoints: video
  167. traefik.udp.routers.jvb.service: jvb
  168. traefik.udp.services.jvb.loadbalancer.server.port: 10000
  169. # Custom network so all services can communicate using a FQDN
  170. networks:
  171. meet.jitsi:
  172. # traefik: change the following line to your external docker network
  173. web:
  174. external: true