2
0

docker-compose.yml 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  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}/transcripts:/usr/share/jitsi-meet/transcripts:Z
  13. environment:
  14. - ENABLE_COLIBRI_WEBSOCKET
  15. - ENABLE_LETSENCRYPT
  16. - ENABLE_HTTP_REDIRECT
  17. - ENABLE_HSTS
  18. - ENABLE_XMPP_WEBSOCKET
  19. - DISABLE_HTTPS
  20. - DISABLE_DEEP_LINKING
  21. - LETSENCRYPT_DOMAIN
  22. - LETSENCRYPT_EMAIL
  23. - LETSENCRYPT_USE_STAGING
  24. - PUBLIC_URL
  25. - TZ
  26. - AMPLITUDE_ID
  27. - ANALYTICS_SCRIPT_URLS
  28. - ANALYTICS_WHITELISTED_EVENTS
  29. - CALLSTATS_CUSTOM_SCRIPT_URL
  30. - CALLSTATS_ID
  31. - CALLSTATS_SECRET
  32. - CHROME_EXTENSION_BANNER_JSON
  33. - CONFCODE_URL
  34. - CONFIG_EXTERNAL_CONNECT
  35. - DEPLOYMENTINFO_ENVIRONMENT
  36. - DEPLOYMENTINFO_ENVIRONMENT_TYPE
  37. - DEPLOYMENTINFO_REGION
  38. - DEPLOYMENTINFO_SHARD
  39. - DEPLOYMENTINFO_USERREGION
  40. - DIALIN_NUMBERS_URL
  41. - DIALOUT_AUTH_URL
  42. - DIALOUT_CODES_URL
  43. - DROPBOX_APPKEY
  44. - DROPBOX_REDIRECT_URI
  45. - DYNAMIC_BRANDING_URL
  46. - ENABLE_AUDIO_PROCESSING
  47. - ENABLE_AUTH
  48. - ENABLE_CALENDAR
  49. - ENABLE_FILE_RECORDING_SERVICE
  50. - ENABLE_FILE_RECORDING_SERVICE_SHARING
  51. - ENABLE_GUESTS
  52. - ENABLE_IPV6
  53. - ENABLE_LIPSYNC
  54. - ENABLE_NO_AUDIO_DETECTION
  55. - ENABLE_P2P
  56. - ENABLE_PREJOIN_PAGE
  57. - ENABLE_WELCOME_PAGE
  58. - ENABLE_CLOSE_PAGE
  59. - ENABLE_RECORDING
  60. - ENABLE_REMB
  61. - ENABLE_REQUIRE_DISPLAY_NAME
  62. - ENABLE_SIMULCAST
  63. - ENABLE_STATS_ID
  64. - ENABLE_STEREO
  65. - ENABLE_SUBDOMAINS
  66. - ENABLE_TALK_WHILE_MUTED
  67. - ENABLE_TCC
  68. - ENABLE_TRANSCRIPTIONS
  69. - ETHERPAD_PUBLIC_URL
  70. - ETHERPAD_URL_BASE
  71. - GOOGLE_ANALYTICS_ID
  72. - GOOGLE_API_APP_CLIENT_ID
  73. - INVITE_SERVICE_URL
  74. - JICOFO_AUTH_USER
  75. - MATOMO_ENDPOINT
  76. - MATOMO_SITE_ID
  77. - MICROSOFT_API_APP_CLIENT_ID
  78. - NGINX_RESOLVER
  79. - NGINX_WORKER_PROCESSES
  80. - NGINX_WORKER_CONNECTIONS
  81. - PEOPLE_SEARCH_URL
  82. - RESOLUTION
  83. - RESOLUTION_MIN
  84. - RESOLUTION_WIDTH
  85. - RESOLUTION_WIDTH_MIN
  86. - START_AUDIO_ONLY
  87. - START_AUDIO_MUTED
  88. - DISABLE_AUDIO_LEVELS
  89. - ENABLE_NOISY_MIC_DETECTION
  90. - START_BITRATE
  91. - DESKTOP_SHARING_FRAMERATE_MIN
  92. - DESKTOP_SHARING_FRAMERATE_MAX
  93. - START_VIDEO_MUTED
  94. - TESTING_CAP_SCREENSHARE_BITRATE
  95. - TESTING_OCTO_PROBABILITY
  96. - XMPP_AUTH_DOMAIN
  97. - XMPP_BOSH_URL_BASE
  98. - XMPP_DOMAIN
  99. - XMPP_GUEST_DOMAIN
  100. - XMPP_MUC_DOMAIN
  101. - XMPP_RECORDER_DOMAIN
  102. - TOKEN_AUTH_URL
  103. networks:
  104. meet.jitsi:
  105. aliases:
  106. - ${XMPP_DOMAIN}
  107. # XMPP server
  108. prosody:
  109. image: jitsi/prosody:latest
  110. restart: ${RESTART_POLICY}
  111. expose:
  112. - '5222'
  113. - '5347'
  114. - '5280'
  115. volumes:
  116. - ${CONFIG}/prosody/config:/config:Z
  117. - ${CONFIG}/prosody/prosody-plugins-custom:/prosody-plugins-custom:Z
  118. environment:
  119. - AUTH_TYPE
  120. - ENABLE_AUTH
  121. - ENABLE_GUESTS
  122. - ENABLE_LOBBY
  123. - ENABLE_XMPP_WEBSOCKET
  124. - GLOBAL_MODULES
  125. - GLOBAL_CONFIG
  126. - LDAP_URL
  127. - LDAP_BASE
  128. - LDAP_BINDDN
  129. - LDAP_BINDPW
  130. - LDAP_FILTER
  131. - LDAP_AUTH_METHOD
  132. - LDAP_VERSION
  133. - LDAP_USE_TLS
  134. - LDAP_TLS_CIPHERS
  135. - LDAP_TLS_CHECK_PEER
  136. - LDAP_TLS_CACERT_FILE
  137. - LDAP_TLS_CACERT_DIR
  138. - LDAP_START_TLS
  139. - XMPP_DOMAIN
  140. - XMPP_AUTH_DOMAIN
  141. - XMPP_GUEST_DOMAIN
  142. - XMPP_MUC_DOMAIN
  143. - XMPP_INTERNAL_MUC_DOMAIN
  144. - XMPP_MODULES
  145. - XMPP_MUC_MODULES
  146. - XMPP_INTERNAL_MUC_MODULES
  147. - XMPP_RECORDER_DOMAIN
  148. - XMPP_CROSS_DOMAIN
  149. - JICOFO_COMPONENT_SECRET
  150. - JICOFO_AUTH_USER
  151. - JICOFO_AUTH_PASSWORD
  152. - JVB_AUTH_USER
  153. - JVB_AUTH_PASSWORD
  154. - JIGASI_XMPP_USER
  155. - JIGASI_XMPP_PASSWORD
  156. - JIBRI_XMPP_USER
  157. - JIBRI_XMPP_PASSWORD
  158. - JIBRI_RECORDER_USER
  159. - JIBRI_RECORDER_PASSWORD
  160. - JWT_APP_ID
  161. - JWT_APP_SECRET
  162. - JWT_ACCEPTED_ISSUERS
  163. - JWT_ACCEPTED_AUDIENCES
  164. - JWT_ASAP_KEYSERVER
  165. - JWT_ALLOW_EMPTY
  166. - JWT_AUTH_TYPE
  167. - JWT_TOKEN_AUTH_MODULE
  168. - LOG_LEVEL
  169. - PUBLIC_URL
  170. - TZ
  171. networks:
  172. meet.jitsi:
  173. aliases:
  174. - ${XMPP_SERVER}
  175. # Focus component
  176. jicofo:
  177. image: jitsi/jicofo:latest
  178. restart: ${RESTART_POLICY}
  179. volumes:
  180. - ${CONFIG}/jicofo:/config:Z
  181. environment:
  182. - AUTH_TYPE
  183. - BRIDGE_AVG_PARTICIPANT_STRESS
  184. - BRIDGE_STRESS_THRESHOLD
  185. - ENABLE_AUTH
  186. - ENABLE_AUTO_OWNER
  187. - ENABLE_CODEC_VP8
  188. - ENABLE_CODEC_VP9
  189. - ENABLE_CODEC_H264
  190. - ENABLE_OCTO
  191. - ENABLE_RECORDING
  192. - ENABLE_SCTP
  193. - JICOFO_AUTH_USER
  194. - JICOFO_AUTH_PASSWORD
  195. - JICOFO_ENABLE_BRIDGE_HEALTH_CHECKS
  196. - JICOFO_CONF_INITIAL_PARTICIPANT_WAIT_TIMEOUT
  197. - JICOFO_CONF_SINGLE_PARTICIPANT_TIMEOUT
  198. - JICOFO_ENABLE_HEALTH_CHECKS
  199. - JICOFO_SHORT_ID
  200. - JICOFO_RESERVATION_ENABLED
  201. - JICOFO_RESERVATION_REST_BASE_URL
  202. - JIBRI_BREWERY_MUC
  203. - JIBRI_REQUEST_RETRIES
  204. - JIBRI_PENDING_TIMEOUT
  205. - JIGASI_BREWERY_MUC
  206. - JIGASI_SIP_URI
  207. - JVB_BREWERY_MUC
  208. - MAX_BRIDGE_PARTICIPANTS
  209. - OCTO_BRIDGE_SELECTION_STRATEGY
  210. - TZ
  211. - XMPP_DOMAIN
  212. - XMPP_AUTH_DOMAIN
  213. - XMPP_INTERNAL_MUC_DOMAIN
  214. - XMPP_MUC_DOMAIN
  215. - XMPP_SERVER
  216. depends_on:
  217. - prosody
  218. networks:
  219. meet.jitsi:
  220. # Video bridge
  221. jvb:
  222. image: jitsi/jvb:latest
  223. restart: ${RESTART_POLICY}
  224. ports:
  225. - '${JVB_PORT}:${JVB_PORT}/udp'
  226. - '${JVB_TCP_PORT}:${JVB_TCP_PORT}'
  227. volumes:
  228. - ${CONFIG}/jvb:/config:Z
  229. environment:
  230. - ENABLE_COLIBRI_WEBSOCKET
  231. - ENABLE_OCTO
  232. - DOCKER_HOST_ADDRESS
  233. - XMPP_AUTH_DOMAIN
  234. - XMPP_INTERNAL_MUC_DOMAIN
  235. - XMPP_SERVER
  236. - JVB_AUTH_USER
  237. - JVB_AUTH_PASSWORD
  238. - JVB_BREWERY_MUC
  239. - JVB_PORT
  240. - JVB_TCP_HARVESTER_DISABLED
  241. - JVB_TCP_PORT
  242. - JVB_TCP_MAPPED_PORT
  243. - JVB_STUN_SERVERS
  244. - JVB_ENABLE_APIS
  245. - JVB_WS_DOMAIN
  246. - JVB_WS_SERVER_ID
  247. - PUBLIC_URL
  248. - JVB_OCTO_BIND_ADDRESS
  249. - JVB_OCTO_PUBLIC_ADDRESS
  250. - JVB_OCTO_BIND_PORT
  251. - JVB_OCTO_REGION
  252. - TZ
  253. depends_on:
  254. - prosody
  255. networks:
  256. meet.jitsi:
  257. aliases:
  258. - jvb.meet.jitsi
  259. # Custom network so all services can communicate using a FQDN
  260. networks:
  261. meet.jitsi: