2
0

docker-compose.yml 9.3 KB

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