docker-compose.yml 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. version: '3'
  2. services:
  3. # Frontend
  4. web:
  5. image: jitsi/web:latest
  6. restart: ${RESTART_POLICY}
  7. ports:
  8. - '${HTTP_PORT}:80'
  9. - '${HTTPS_PORT}:443'
  10. volumes:
  11. - ${CONFIG}/web:/config:Z
  12. - ${CONFIG}/web/letsencrypt:/etc/letsencrypt:Z
  13. - ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts:Z
  14. environment:
  15. - ENABLE_LETSENCRYPT
  16. - ENABLE_HTTP_REDIRECT
  17. - ENABLE_XMPP_WEBSOCKET
  18. - DISABLE_HTTPS
  19. - LETSENCRYPT_DOMAIN
  20. - LETSENCRYPT_EMAIL
  21. - PUBLIC_URL
  22. - TZ
  23. - AMPLITUDE_ID
  24. - ANALYTICS_SCRIPT_URLS
  25. - ANALYTICS_WHITELISTED_EVENTS
  26. - BRIDGE_CHANNEL
  27. - BRANDING_DATA_URL
  28. - CALLSTATS_CUSTOM_SCRIPT_URL
  29. - CALLSTATS_ID
  30. - CALLSTATS_SECRET
  31. - CHROME_EXTENSION_BANNER_JSON
  32. - CONFCODE_URL
  33. - CONFIG_EXTERNAL_CONNECT
  34. - DEPLOYMENTINFO_ENVIRONMENT
  35. - DEPLOYMENTINFO_ENVIRONMENT_TYPE
  36. - DEPLOYMENTINFO_USERREGION
  37. - DIALIN_NUMBERS_URL
  38. - DIALOUT_AUTH_URL
  39. - DIALOUT_CODES_URL
  40. - DROPBOX_APPKEY
  41. - DROPBOX_REDIRECT_URI
  42. - ENABLE_AUDIO_PROCESSING
  43. - ENABLE_AUTH
  44. - ENABLE_CALENDAR
  45. - ENABLE_FILE_RECORDING_SERVICE
  46. - ENABLE_FILE_RECORDING_SERVICE_SHARING
  47. - ENABLE_GUESTS
  48. - ENABLE_IPV6
  49. - ENABLE_LIPSYNC
  50. - ENABLE_NO_AUDIO_DETECTION
  51. - ENABLE_P2P
  52. - ENABLE_PREJOIN_PAGE
  53. - ENABLE_RECORDING
  54. - ENABLE_REMB
  55. - ENABLE_REQUIRE_DISPLAY_NAME
  56. - ENABLE_SIMULCAST
  57. - ENABLE_STATS_ID
  58. - ENABLE_STEREO
  59. - ENABLE_SUBDOMAINS
  60. - ENABLE_TALK_WHILE_MUTED
  61. - ENABLE_TCC
  62. - ENABLE_TRANSCRIPTIONS
  63. - ETHERPAD_PUBLIC_URL
  64. - ETHERPAD_URL_BASE
  65. - GOOGLE_ANALYTICS_ID
  66. - GOOGLE_API_APP_CLIENT_ID
  67. - INVITE_SERVICE_URL
  68. - JICOFO_AUTH_USER
  69. - MATOMO_ENDPOINT
  70. - MATOMO_SITE_ID
  71. - MICROSOFT_API_APP_CLIENT_ID
  72. - NGINX_RESOLVER
  73. - PEOPLE_SEARCH_URL
  74. - RESOLUTION
  75. - RESOLUTION_MIN
  76. - RESOLUTION_WIDTH
  77. - RESOLUTION_WIDTH_MIN
  78. - START_AUDIO_ONLY
  79. - START_AUDIO_MUTED
  80. - START_BITRATE
  81. - START_VIDEO_MUTED
  82. - TESTING_CAP_SCREENSHARE_BITRATE
  83. - TESTING_OCTO_PROBABILITY
  84. - XMPP_AUTH_DOMAIN
  85. - XMPP_BOSH_URL_BASE
  86. - XMPP_DOMAIN
  87. - XMPP_GUEST_DOMAIN
  88. - XMPP_MUC_DOMAIN
  89. - XMPP_RECORDER_DOMAIN
  90. networks:
  91. meet.jitsi:
  92. aliases:
  93. - ${XMPP_DOMAIN}
  94. # XMPP server
  95. prosody:
  96. image: jitsi/prosody:latest
  97. restart: ${RESTART_POLICY}
  98. expose:
  99. - '5222'
  100. - '5347'
  101. - '5280'
  102. volumes:
  103. - ${CONFIG}/prosody/config:/config:Z
  104. - ${CONFIG}/prosody/prosody-plugins-custom:/prosody-plugins-custom:Z
  105. environment:
  106. - AUTH_TYPE
  107. - ENABLE_AUTH
  108. - ENABLE_GUESTS
  109. - ENABLE_LOBBY
  110. - ENABLE_XMPP_WEBSOCKET
  111. - GLOBAL_MODULES
  112. - GLOBAL_CONFIG
  113. - LDAP_URL
  114. - LDAP_BASE
  115. - LDAP_BINDDN
  116. - LDAP_BINDPW
  117. - LDAP_FILTER
  118. - LDAP_AUTH_METHOD
  119. - LDAP_VERSION
  120. - LDAP_USE_TLS
  121. - LDAP_TLS_CIPHERS
  122. - LDAP_TLS_CHECK_PEER
  123. - LDAP_TLS_CACERT_FILE
  124. - LDAP_TLS_CACERT_DIR
  125. - LDAP_START_TLS
  126. - XMPP_DOMAIN
  127. - XMPP_AUTH_DOMAIN
  128. - XMPP_GUEST_DOMAIN
  129. - XMPP_MUC_DOMAIN
  130. - XMPP_INTERNAL_MUC_DOMAIN
  131. - XMPP_MODULES
  132. - XMPP_MUC_MODULES
  133. - XMPP_INTERNAL_MUC_MODULES
  134. - XMPP_RECORDER_DOMAIN
  135. - JICOFO_COMPONENT_SECRET
  136. - JICOFO_AUTH_USER
  137. - JICOFO_AUTH_PASSWORD
  138. - JVB_AUTH_USER
  139. - JVB_AUTH_PASSWORD
  140. - JIGASI_XMPP_USER
  141. - JIGASI_XMPP_PASSWORD
  142. - JIBRI_XMPP_USER
  143. - JIBRI_XMPP_PASSWORD
  144. - JIBRI_RECORDER_USER
  145. - JIBRI_RECORDER_PASSWORD
  146. - JWT_APP_ID
  147. - JWT_APP_SECRET
  148. - JWT_ACCEPTED_ISSUERS
  149. - JWT_ACCEPTED_AUDIENCES
  150. - JWT_ASAP_KEYSERVER
  151. - JWT_ALLOW_EMPTY
  152. - JWT_AUTH_TYPE
  153. - JWT_TOKEN_AUTH_MODULE
  154. - LOG_LEVEL
  155. - PUBLIC_URL
  156. - TZ
  157. networks:
  158. meet.jitsi:
  159. aliases:
  160. - ${XMPP_SERVER}
  161. # Focus component
  162. jicofo:
  163. image: jitsi/jicofo:latest
  164. restart: ${RESTART_POLICY}
  165. volumes:
  166. - ${CONFIG}/jicofo:/config:Z
  167. environment:
  168. - AUTH_TYPE
  169. - ENABLE_AUTH
  170. - XMPP_DOMAIN
  171. - XMPP_AUTH_DOMAIN
  172. - XMPP_INTERNAL_MUC_DOMAIN
  173. - XMPP_MUC_DOMAIN
  174. - XMPP_SERVER
  175. - JICOFO_COMPONENT_SECRET
  176. - JICOFO_AUTH_USER
  177. - JICOFO_AUTH_PASSWORD
  178. - JICOFO_RESERVATION_REST_BASE_URL
  179. - JVB_BREWERY_MUC
  180. - JIGASI_BREWERY_MUC
  181. - JIGASI_SIP_URI
  182. - JIBRI_BREWERY_MUC
  183. - JIBRI_PENDING_TIMEOUT
  184. - TZ
  185. depends_on:
  186. - prosody
  187. networks:
  188. meet.jitsi:
  189. # Video bridge
  190. jvb:
  191. image: jitsi/jvb:latest
  192. restart: ${RESTART_POLICY}
  193. ports:
  194. - '${JVB_PORT}:${JVB_PORT}/udp'
  195. - '${JVB_TCP_PORT}:${JVB_TCP_PORT}'
  196. volumes:
  197. - ${CONFIG}/jvb:/config:Z
  198. environment:
  199. - DOCKER_HOST_ADDRESS
  200. - XMPP_AUTH_DOMAIN
  201. - XMPP_INTERNAL_MUC_DOMAIN
  202. - XMPP_SERVER
  203. - JVB_AUTH_USER
  204. - JVB_AUTH_PASSWORD
  205. - JVB_BREWERY_MUC
  206. - JVB_PORT
  207. - JVB_TCP_HARVESTER_DISABLED
  208. - JVB_TCP_PORT
  209. - JVB_TCP_MAPPED_PORT
  210. - JVB_STUN_SERVERS
  211. - JVB_ENABLE_APIS
  212. - JVB_WS_DOMAIN
  213. - JVB_WS_SERVER_ID
  214. - PUBLIC_URL
  215. - TZ
  216. depends_on:
  217. - prosody
  218. networks:
  219. meet.jitsi:
  220. aliases:
  221. - jvb.meet.jitsi
  222. # Custom network so all services can communicate using a FQDN
  223. networks:
  224. meet.jitsi: