docker-compose.yml 5.2 KB

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