2022-10-05 22:47:24 +00:00
|
|
|
x-logging: &logging
|
|
|
|
|
logging:
|
|
|
|
|
driver: "local"
|
|
|
|
|
options:
|
|
|
|
|
max-size: "5m"
|
|
|
|
|
max-file: "2"
|
|
|
|
|
|
2020-11-21 10:48:08 +00:00
|
|
|
services:
|
2025-07-20 22:21:37 +01:00
|
|
|
# change:
|
|
|
|
|
# <<: *logging
|
|
|
|
|
# profiles: ["prod"]
|
|
|
|
|
# container_name: change
|
|
|
|
|
# image: node:alpine
|
|
|
|
|
# build: ./change-game
|
|
|
|
|
# environment:
|
|
|
|
|
# - PORT=9000
|
|
|
|
|
# - VIRTUAL_HOST=rec.${DOMAIN}
|
|
|
|
|
# - CERT_NAME=${DOMAIN}
|
|
|
|
|
# - VIRTUAL_PORT=9000
|
|
|
|
|
# networks:
|
|
|
|
|
# - nginx
|
|
|
|
|
# volumes:
|
|
|
|
|
# - change:/change/public
|
2024-12-30 12:14:53 +00:00
|
|
|
|
2021-06-21 18:25:05 +01:00
|
|
|
foundry:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod"]
|
2022-10-05 22:47:24 +00:00
|
|
|
<<: *logging
|
2021-06-21 18:25:05 +01:00
|
|
|
image: felddy/foundryvtt:release
|
|
|
|
|
volumes:
|
2023-03-23 20:29:29 +00:00
|
|
|
- /mnt/tower/foundry:/data
|
|
|
|
|
- /opt/scarif/foundry/patches:/data/patches
|
2021-06-21 18:25:05 +01:00
|
|
|
restart: always
|
|
|
|
|
environment:
|
|
|
|
|
- "FOUNDRY_PASSWORD=${FOUNDRY_PASSWORD}"
|
|
|
|
|
- "FOUNDRY_USERNAME=${FOUNDRY_USER}"
|
|
|
|
|
- FOUNDRY_ADMIN_KEY=${FOUNDRY_ADMIN_KEY}
|
|
|
|
|
- FOUNDRY_HOSTNAME=https://rec.${DOMAIN}
|
|
|
|
|
- FOUNDRY_PROXY_PORT=443
|
|
|
|
|
- FOUNDRY_PORT=443
|
|
|
|
|
- FOUNDRY_PROXY_SSL=true
|
|
|
|
|
- FOUNDRY_ROUTE_PREFIX=foundry
|
2021-06-22 08:33:44 +01:00
|
|
|
- CONTAINER_CACHE=/data/container_cache
|
2023-03-23 20:29:29 +00:00
|
|
|
- CONTAINER_PATCHES=/data/patches
|
|
|
|
|
- FOUNDRY_UID=1000
|
|
|
|
|
- FOUNDRY_GID=1000
|
2025-07-20 22:21:37 +01:00
|
|
|
- VIRTUAL_HOST=rec.${DOMAIN}
|
|
|
|
|
- CERT_NAME=${DOMAIN}
|
|
|
|
|
- VIRTUAL_PORT=30000
|
|
|
|
|
- VIRTUAL_PATH=/foundry
|
2021-06-21 18:25:05 +01:00
|
|
|
networks:
|
|
|
|
|
- nginx
|
|
|
|
|
|
2020-11-22 23:14:54 +00:00
|
|
|
nextcloud:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod"]
|
2022-10-05 22:47:24 +00:00
|
|
|
<<: *logging
|
2020-11-22 23:14:54 +00:00
|
|
|
build: ./nextcloud
|
2025-07-20 22:21:37 +01:00
|
|
|
image: nextcloud:31-fpm-alpine
|
2023-03-23 20:29:29 +00:00
|
|
|
restart: unless-stopped
|
|
|
|
|
user: 1000:1000
|
2020-11-22 23:14:54 +00:00
|
|
|
volumes:
|
|
|
|
|
- nextcloud:/var/www/html
|
2023-03-23 20:29:29 +00:00
|
|
|
- /mnt/tower/stardust:/var/www/html/data
|
|
|
|
|
- /mnt/tower/foundry:/var/www/foundry
|
2020-11-22 23:14:54 +00:00
|
|
|
environment:
|
2025-07-20 22:21:37 +01:00
|
|
|
- VIRTUAL_HOST=tower.${DOMAIN}
|
|
|
|
|
- CERT_NAME=${DOMAIN}
|
|
|
|
|
- VIRTUAL_PORT=9000
|
|
|
|
|
- VIRTUAL_PROTO=fastcgi
|
2020-11-22 23:14:54 +00:00
|
|
|
- REDIS_HOST=redis
|
|
|
|
|
- MYSQL_HOST=db
|
|
|
|
|
- MYSQL_PASSWORD=${DB_PASSWORD}
|
|
|
|
|
- MYSQL_DATABASE=nextcloud
|
|
|
|
|
- MYSQL_USER=${DB_USER}
|
|
|
|
|
- NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD}
|
|
|
|
|
- NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER}
|
2023-03-23 20:29:29 +00:00
|
|
|
- MAIL_FROM_ADDRESS=${MAIL_FROM}
|
|
|
|
|
- SMTP_HOST=${MAIL_HOST}
|
|
|
|
|
- SMTP_PORT=${MAIL_PORT}
|
|
|
|
|
- SMTP_USER=${MAIL_USER}
|
|
|
|
|
- SMTP_PASSWORD=${MAIL_PASSWORD}
|
|
|
|
|
- "NEXTCLOUD_TRUSTED_DOMAINS=tower.${DOMAIN} 127.0.0.1"
|
|
|
|
|
- USER_UID=1000
|
|
|
|
|
- USER_GID=1000
|
|
|
|
|
- APACHE_RUN_USER=1000
|
|
|
|
|
- APACHE_RUN_GROUP=1000
|
2020-11-22 23:14:54 +00:00
|
|
|
depends_on:
|
|
|
|
|
- db
|
|
|
|
|
- redis
|
2020-11-24 21:19:10 +00:00
|
|
|
networks:
|
|
|
|
|
- db
|
|
|
|
|
- redis
|
|
|
|
|
- nginx
|
2020-12-07 21:55:23 +00:00
|
|
|
extra_hosts:
|
2023-03-23 20:29:29 +00:00
|
|
|
- "tower.${DOMAIN}:${LOCAL_IP}"
|
|
|
|
|
- "office.${DOMAIN}:${LOCAL_IP}"
|
2024-12-30 12:15:35 +00:00
|
|
|
|
2020-12-07 21:55:23 +00:00
|
|
|
collabora:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod", "dev"]
|
2022-10-05 22:47:24 +00:00
|
|
|
<<: *logging
|
2020-12-07 21:55:23 +00:00
|
|
|
image: collabora/code
|
2023-03-23 20:29:29 +00:00
|
|
|
restart: unless-stopped
|
2020-12-07 21:55:23 +00:00
|
|
|
cap_add:
|
|
|
|
|
- MKNOD
|
|
|
|
|
environment:
|
2025-07-20 22:21:37 +01:00
|
|
|
- VIRTUAL_HOST=office.${DOMAIN}
|
|
|
|
|
- CERT_NAME=${DOMAIN}
|
|
|
|
|
- VIRTUAL_PORT=9980
|
2023-03-23 20:29:29 +00:00
|
|
|
- "DONT_GEN_SSL_CERT=True"
|
2020-12-07 21:55:23 +00:00
|
|
|
- domain=tower.${DOMAIN}
|
|
|
|
|
- cert_domain=office.${DOMAIN}
|
|
|
|
|
- server_name=office.${DOMAIN}
|
|
|
|
|
- username=${COLLABORA_USER}
|
|
|
|
|
- password=${COLLABORA_PASSWORD}
|
|
|
|
|
- "extra_params=-o:ssl.enable=false --o:ssl.termination=true"
|
|
|
|
|
- "dictionaries=de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru ro"
|
|
|
|
|
networks:
|
|
|
|
|
- nginx
|
|
|
|
|
extra_hosts:
|
2023-03-23 20:29:29 +00:00
|
|
|
- "tower.${DOMAIN}:${LOCAL_IP}"
|
|
|
|
|
- "office.${DOMAIN}:${LOCAL_IP}"
|
2020-12-13 16:37:09 +00:00
|
|
|
|
2020-11-25 21:33:30 +00:00
|
|
|
gitea:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod", "dev"]
|
2022-10-05 22:47:24 +00:00
|
|
|
<<: *logging
|
2020-11-25 21:33:30 +00:00
|
|
|
image: gitea/gitea:1
|
|
|
|
|
environment:
|
2025-07-20 22:21:37 +01:00
|
|
|
- VIRTUAL_HOST=labs.${DOMAIN}
|
|
|
|
|
- CERT_NAME=${DOMAIN}
|
|
|
|
|
- VIRTUAL_PORT=3000
|
2020-11-25 21:33:30 +00:00
|
|
|
- "APP_NAME=Labs: Where the good stuff happens"
|
|
|
|
|
- RUN_MODE=prod
|
|
|
|
|
- DOMAIN=labs.${DOMAIN}
|
|
|
|
|
- ROOT_URL=https://labs.${DOMAIN}
|
|
|
|
|
- DB_TYPE=mysql
|
|
|
|
|
- DB_HOST=db
|
|
|
|
|
- DB_NAME=gitea
|
|
|
|
|
- DB_USER=${DB_USER}
|
|
|
|
|
- DB_PASSWD=${DB_PASSWORD}
|
2020-12-05 15:46:40 +00:00
|
|
|
- USER_UID=1200
|
|
|
|
|
- USER_GID=1200
|
|
|
|
|
- DISABLE_REGISTRATION=true
|
2020-11-25 21:33:30 +00:00
|
|
|
restart: always
|
|
|
|
|
volumes:
|
|
|
|
|
- gitea:/data
|
2023-03-23 20:29:29 +00:00
|
|
|
- /mnt/tower/labs:/data/git
|
2020-12-05 15:46:40 +00:00
|
|
|
- /home/git/.ssh/:/data/git/.ssh/
|
2020-11-25 21:33:30 +00:00
|
|
|
- /etc/timezone:/etc/timezone:ro
|
|
|
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
|
ports:
|
2020-12-05 15:46:40 +00:00
|
|
|
- "127.0.0.1:2222:22"
|
2020-11-25 21:33:30 +00:00
|
|
|
networks:
|
|
|
|
|
- db
|
|
|
|
|
- nginx
|
|
|
|
|
depends_on:
|
|
|
|
|
- db
|
|
|
|
|
|
2024-12-26 00:06:39 +00:00
|
|
|
minecraft:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod"]
|
2024-12-26 00:06:39 +00:00
|
|
|
<<: *logging
|
|
|
|
|
image: itzg/minecraft-server
|
|
|
|
|
tty: true
|
|
|
|
|
stdin_open: true
|
|
|
|
|
ports:
|
|
|
|
|
- "25565:25565"
|
|
|
|
|
environment:
|
|
|
|
|
- TYPE=VANILLA
|
|
|
|
|
- VERSION=LATEST
|
|
|
|
|
- EULA=TRUE
|
|
|
|
|
- MEMORY=2G
|
|
|
|
|
- RCON_PASSWORD=${MINECRAFT_PASSWORD}
|
|
|
|
|
- MOTD="Scarif Minecraft Server"
|
2024-12-26 12:54:17 +00:00
|
|
|
- WHITELIST=${MINECRAFT_WHITELIST}
|
2024-12-26 00:06:39 +00:00
|
|
|
volumes:
|
|
|
|
|
- minecraft:/data
|
|
|
|
|
|
2024-12-26 12:54:17 +00:00
|
|
|
mc-backup:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod"]
|
2024-12-26 12:54:17 +00:00
|
|
|
<<: *logging
|
|
|
|
|
image: itzg/mc-backup
|
|
|
|
|
depends_on:
|
|
|
|
|
minecraft:
|
|
|
|
|
condition: service_healthy
|
|
|
|
|
environment:
|
|
|
|
|
- RCON_HOST=minecraft
|
|
|
|
|
- RCON_PASSWORD=${MINECRAFT_PASSWORD}
|
|
|
|
|
- INITIAL_DELAY=0
|
|
|
|
|
- BACKUP_INTERVAL=24h
|
|
|
|
|
- PAUSE_IF_NO_PLAYERS=true
|
|
|
|
|
- PLAYERS_ONLINE_CHECK_INTERVAL=10
|
|
|
|
|
- PRUNE_BACKUPS_DAYS=30
|
|
|
|
|
volumes:
|
|
|
|
|
- minecraft:/data:ro
|
|
|
|
|
- /mnt/tower/backups/minecraft:/backups
|
|
|
|
|
|
2023-12-01 09:03:33 +00:00
|
|
|
navidrome:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod"]
|
2023-12-01 09:03:33 +00:00
|
|
|
<<: *logging
|
|
|
|
|
image: deluan/navidrome:latest
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
environment:
|
2025-07-20 22:21:37 +01:00
|
|
|
- VIRTUAL_HOST=radio.${DOMAIN}
|
|
|
|
|
- CERT_NAME=${DOMAIN}
|
|
|
|
|
- VIRTUAL_PORT=4533
|
2023-12-01 09:03:33 +00:00
|
|
|
- ND_SCANSCHEDULE=1h
|
|
|
|
|
- ND_LOGLEVEL=info
|
|
|
|
|
- ND_SESSIONTIMEOUT=24h
|
|
|
|
|
- ND_BASEURL=https://radio.${DOMAIN}
|
|
|
|
|
volumes:
|
|
|
|
|
- navidrome:/data
|
|
|
|
|
- /mnt/tower/stardust/chris/files/Music:/music:ro
|
|
|
|
|
networks:
|
|
|
|
|
- nginx
|
|
|
|
|
|
2023-07-09 22:56:43 +01:00
|
|
|
pihole:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod"]
|
2023-07-09 22:56:43 +01:00
|
|
|
<<: *logging
|
|
|
|
|
image: pihole/pihole:latest
|
|
|
|
|
ports:
|
|
|
|
|
- "53:53/tcp"
|
|
|
|
|
- "53:53/udp"
|
|
|
|
|
environment:
|
2025-07-20 22:21:37 +01:00
|
|
|
- VIRTUAL_HOST=net.${DOMAIN}
|
|
|
|
|
- CERT_NAME=${DOMAIN}
|
|
|
|
|
- TZ="Europe/London"
|
|
|
|
|
- WEBPASSWORD=${PIHOLE_PASSWORD}
|
2023-07-09 22:56:43 +01:00
|
|
|
volumes:
|
|
|
|
|
- "/docker/pihole/etc-pihole:/etc/pihole"
|
|
|
|
|
- "/docker/pihole/etc-dnsmasq.d:/etc/dnsmasq.d"
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
networks:
|
|
|
|
|
- nginx
|
|
|
|
|
|
2020-12-22 18:05:10 +00:00
|
|
|
jitsi:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod"]
|
2022-10-05 22:47:24 +00:00
|
|
|
<<: *logging
|
2023-03-23 20:29:29 +00:00
|
|
|
image: jitsi/web:stable
|
|
|
|
|
restart: unless-stopped
|
2020-12-07 22:02:06 +00:00
|
|
|
volumes:
|
2021-01-01 16:52:56 +00:00
|
|
|
- ${CONFIG}/web:/config:Z
|
2023-03-23 20:29:29 +00:00
|
|
|
- ${CONFIG}/web/crontabs:/var/spool/cron/crontabs:Z
|
2021-01-01 16:52:56 +00:00
|
|
|
- ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts:Z
|
2020-12-22 18:05:10 +00:00
|
|
|
environment:
|
2025-07-20 22:21:37 +01:00
|
|
|
- VIRTUAL_HOST=comms.${DOMAIN}
|
|
|
|
|
- VIRTUAL_PORT=80
|
|
|
|
|
- CERT_NAME=${DOMAIN}
|
2021-01-01 16:52:56 +00:00
|
|
|
- AMPLITUDE_ID
|
|
|
|
|
- ANALYTICS_SCRIPT_URLS
|
|
|
|
|
- ANALYTICS_WHITELISTED_EVENTS
|
2023-03-23 20:29:29 +00:00
|
|
|
- AUDIO_QUALITY_OPUS_BITRATE
|
|
|
|
|
- AUTO_CAPTION_ON_RECORD
|
2021-01-01 16:52:56 +00:00
|
|
|
- BRANDING_DATA_URL
|
|
|
|
|
- CALLSTATS_CUSTOM_SCRIPT_URL
|
|
|
|
|
- CALLSTATS_ID
|
|
|
|
|
- CALLSTATS_SECRET
|
|
|
|
|
- CHROME_EXTENSION_BANNER_JSON
|
|
|
|
|
- CONFCODE_URL
|
|
|
|
|
- CONFIG_EXTERNAL_CONNECT
|
2023-03-23 20:29:29 +00:00
|
|
|
- DEFAULT_LANGUAGE
|
2021-01-01 16:52:56 +00:00
|
|
|
- DEPLOYMENTINFO_ENVIRONMENT
|
|
|
|
|
- DEPLOYMENTINFO_ENVIRONMENT_TYPE
|
2023-03-23 20:29:29 +00:00
|
|
|
- DEPLOYMENTINFO_REGION
|
|
|
|
|
- DEPLOYMENTINFO_SHARD
|
2021-01-01 16:52:56 +00:00
|
|
|
- DEPLOYMENTINFO_USERREGION
|
2023-03-23 20:29:29 +00:00
|
|
|
- DESKTOP_SHARING_FRAMERATE_MIN
|
|
|
|
|
- DESKTOP_SHARING_FRAMERATE_MAX
|
2021-01-01 16:52:56 +00:00
|
|
|
- DIALIN_NUMBERS_URL
|
|
|
|
|
- DIALOUT_AUTH_URL
|
|
|
|
|
- DIALOUT_CODES_URL
|
2023-03-23 20:29:29 +00:00
|
|
|
- DISABLE_AUDIO_LEVELS
|
|
|
|
|
- DISABLE_DEEP_LINKING
|
|
|
|
|
- DISABLE_GRANT_MODERATOR
|
|
|
|
|
- DISABLE_HTTPS
|
|
|
|
|
- DISABLE_KICKOUT
|
|
|
|
|
- DISABLE_LOCAL_RECORDING
|
|
|
|
|
- DISABLE_POLLS
|
|
|
|
|
- DISABLE_PRIVATE_CHAT
|
|
|
|
|
- DISABLE_PROFILE
|
|
|
|
|
- DISABLE_REACTIONS
|
|
|
|
|
- DISABLE_REMOTE_VIDEO_MENU
|
|
|
|
|
- DISABLE_START_FOR_ALL
|
2021-01-01 16:52:56 +00:00
|
|
|
- DROPBOX_APPKEY
|
|
|
|
|
- DROPBOX_REDIRECT_URI
|
2023-03-23 20:29:29 +00:00
|
|
|
- DYNAMIC_BRANDING_URL
|
2021-01-01 16:52:56 +00:00
|
|
|
- ENABLE_AUDIO_PROCESSING
|
|
|
|
|
- ENABLE_AUTH
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_BREAKOUT_ROOMS
|
2021-01-01 16:52:56 +00:00
|
|
|
- ENABLE_CALENDAR
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_COLIBRI_WEBSOCKET
|
|
|
|
|
- ENABLE_E2EPING
|
|
|
|
|
- ENABLE_FILE_RECORDING_SHARING
|
2021-01-01 16:52:56 +00:00
|
|
|
- ENABLE_GUESTS
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_HSTS
|
|
|
|
|
- ENABLE_HTTP_REDIRECT
|
2021-01-01 16:52:56 +00:00
|
|
|
- ENABLE_IPV6
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_LETS_ENCRYPT
|
2021-01-01 16:52:56 +00:00
|
|
|
- ENABLE_LIPSYNC
|
|
|
|
|
- ENABLE_NO_AUDIO_DETECTION
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_NOISY_MIC_DETECTION
|
|
|
|
|
- ENABLE_OCTO
|
|
|
|
|
- ENABLE_OPUS_RED
|
2021-01-01 16:52:56 +00:00
|
|
|
- ENABLE_PREJOIN_PAGE
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_P2P
|
2021-01-01 16:52:56 +00:00
|
|
|
- ENABLE_WELCOME_PAGE
|
|
|
|
|
- ENABLE_CLOSE_PAGE
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_LIVESTREAMING
|
|
|
|
|
- ENABLE_LOCAL_RECORDING_NOTIFY_ALL_PARTICIPANT
|
|
|
|
|
- ENABLE_LOCAL_RECORDING_SELF_START
|
2021-01-01 16:52:56 +00:00
|
|
|
- ENABLE_RECORDING
|
|
|
|
|
- ENABLE_REMB
|
|
|
|
|
- ENABLE_REQUIRE_DISPLAY_NAME
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_SERVICE_RECORDING
|
2021-01-01 16:52:56 +00:00
|
|
|
- ENABLE_SIMULCAST
|
|
|
|
|
- ENABLE_STATS_ID
|
|
|
|
|
- ENABLE_STEREO
|
|
|
|
|
- ENABLE_SUBDOMAINS
|
|
|
|
|
- ENABLE_TALK_WHILE_MUTED
|
|
|
|
|
- ENABLE_TCC
|
|
|
|
|
- ENABLE_TRANSCRIPTIONS
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_XMPP_WEBSOCKET
|
|
|
|
|
- ENABLE_JAAS_COMPONENTS
|
2021-01-01 16:52:56 +00:00
|
|
|
- ETHERPAD_PUBLIC_URL
|
|
|
|
|
- ETHERPAD_URL_BASE
|
2023-03-23 20:29:29 +00:00
|
|
|
- E2EPING_NUM_REQUESTS
|
|
|
|
|
- E2EPING_MAX_CONFERENCE_SIZE
|
|
|
|
|
- E2EPING_MAX_MESSAGE_PER_SECOND
|
2021-01-01 16:52:56 +00:00
|
|
|
- GOOGLE_ANALYTICS_ID
|
|
|
|
|
- GOOGLE_API_APP_CLIENT_ID
|
2023-03-23 20:29:29 +00:00
|
|
|
- HIDE_PREMEETING_BUTTONS
|
|
|
|
|
- HIDE_PREJOIN_DISPLAY_NAME
|
|
|
|
|
- HIDE_PREJOIN_EXTRA_BUTTONS
|
2021-01-01 16:52:56 +00:00
|
|
|
- INVITE_SERVICE_URL
|
2023-03-23 20:29:29 +00:00
|
|
|
- LETSENCRYPT_DOMAIN
|
|
|
|
|
- LETSENCRYPT_EMAIL
|
|
|
|
|
- LETSENCRYPT_USE_STAGING
|
2021-01-01 16:52:56 +00:00
|
|
|
- MATOMO_ENDPOINT
|
|
|
|
|
- MATOMO_SITE_ID
|
|
|
|
|
- MICROSOFT_API_APP_CLIENT_ID
|
|
|
|
|
- NGINX_RESOLVER
|
|
|
|
|
- NGINX_WORKER_PROCESSES
|
|
|
|
|
- NGINX_WORKER_CONNECTIONS
|
|
|
|
|
- PEOPLE_SEARCH_URL
|
2023-03-23 20:29:29 +00:00
|
|
|
- PREFERRED_LANGUAGE
|
|
|
|
|
- PUBLIC_URL
|
|
|
|
|
- P2P_PREFERRED_CODEC
|
2021-01-01 16:52:56 +00:00
|
|
|
- RESOLUTION
|
|
|
|
|
- RESOLUTION_MIN
|
|
|
|
|
- RESOLUTION_WIDTH
|
|
|
|
|
- RESOLUTION_WIDTH_MIN
|
|
|
|
|
- START_AUDIO_MUTED
|
2023-03-23 20:29:29 +00:00
|
|
|
- START_AUDIO_ONLY
|
2021-01-01 16:52:56 +00:00
|
|
|
- START_BITRATE
|
2023-03-23 20:29:29 +00:00
|
|
|
- START_SILENT
|
|
|
|
|
- START_WITH_AUDIO_MUTED
|
2021-01-01 16:52:56 +00:00
|
|
|
- START_VIDEO_MUTED
|
2023-03-23 20:29:29 +00:00
|
|
|
- START_WITH_VIDEO_MUTED
|
2021-01-01 16:52:56 +00:00
|
|
|
- TESTING_CAP_SCREENSHARE_BITRATE
|
|
|
|
|
- TESTING_OCTO_PROBABILITY
|
2023-03-23 20:29:29 +00:00
|
|
|
- TOKEN_AUTH_URL
|
|
|
|
|
- TOOLBAR_BUTTONS
|
|
|
|
|
- TRANSLATION_LANGUAGES
|
|
|
|
|
- TRANSLATION_LANGUAGES_HEAD
|
|
|
|
|
- TZ
|
|
|
|
|
- USE_APP_LANGUAGE
|
|
|
|
|
- VIDEOQUALITY_BITRATE_H264_LOW
|
|
|
|
|
- VIDEOQUALITY_BITRATE_H264_STANDARD
|
|
|
|
|
- VIDEOQUALITY_BITRATE_H264_HIGH
|
|
|
|
|
- VIDEOQUALITY_BITRATE_VP8_LOW
|
|
|
|
|
- VIDEOQUALITY_BITRATE_VP8_STANDARD
|
|
|
|
|
- VIDEOQUALITY_BITRATE_VP8_HIGH
|
|
|
|
|
- VIDEOQUALITY_BITRATE_VP9_LOW
|
|
|
|
|
- VIDEOQUALITY_BITRATE_VP9_STANDARD
|
|
|
|
|
- VIDEOQUALITY_BITRATE_VP9_HIGH
|
|
|
|
|
- VIDEOQUALITY_ENFORCE_PREFERRED_CODEC
|
|
|
|
|
- VIDEOQUALITY_PREFERRED_CODEC
|
2021-01-01 16:52:56 +00:00
|
|
|
- XMPP_AUTH_DOMAIN
|
|
|
|
|
- XMPP_BOSH_URL_BASE
|
|
|
|
|
- XMPP_DOMAIN
|
|
|
|
|
- XMPP_GUEST_DOMAIN
|
|
|
|
|
- XMPP_MUC_DOMAIN
|
|
|
|
|
- XMPP_RECORDER_DOMAIN
|
2023-03-23 20:29:29 +00:00
|
|
|
- XMPP_PORT
|
|
|
|
|
- WHITEBOARD_ENABLED
|
|
|
|
|
- WHITEBOARD_COLLAB_SERVER_PUBLIC_URL
|
2020-12-07 22:02:06 +00:00
|
|
|
networks:
|
2020-12-22 18:05:10 +00:00
|
|
|
nginx:
|
|
|
|
|
meet.jitsi:
|
|
|
|
|
|
|
|
|
|
# XMPP server
|
|
|
|
|
prosody:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod"]
|
2022-10-05 22:47:24 +00:00
|
|
|
<<: *logging
|
2023-03-23 20:29:29 +00:00
|
|
|
image: jitsi/prosody:stable
|
|
|
|
|
restart: unless-stopped
|
2020-12-22 18:05:10 +00:00
|
|
|
expose:
|
2023-03-23 20:29:29 +00:00
|
|
|
- '${XMPP_PORT:-52222}'
|
2020-12-22 18:05:10 +00:00
|
|
|
- '5347'
|
|
|
|
|
- '5280'
|
|
|
|
|
volumes:
|
2021-01-01 16:52:56 +00:00
|
|
|
- ${CONFIG}/prosody/config:/config:Z
|
|
|
|
|
- ${CONFIG}/prosody/prosody-plugins-custom:/prosody-plugins-custom:Z
|
2020-12-22 18:05:10 +00:00
|
|
|
environment:
|
2021-01-01 16:52:56 +00:00
|
|
|
- AUTH_TYPE
|
2023-03-23 20:29:29 +00:00
|
|
|
- DISABLE_POLLS
|
2021-01-01 16:52:56 +00:00
|
|
|
- ENABLE_AUTH
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_AV_MODERATION
|
|
|
|
|
- ENABLE_BREAKOUT_ROOMS
|
|
|
|
|
- ENABLE_END_CONFERENCE
|
2021-01-01 16:52:56 +00:00
|
|
|
- ENABLE_GUESTS
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_IPV6
|
2021-01-01 16:52:56 +00:00
|
|
|
- ENABLE_LOBBY
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_RECORDING
|
2021-01-01 16:52:56 +00:00
|
|
|
- ENABLE_XMPP_WEBSOCKET
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_JAAS_COMPONENTS
|
|
|
|
|
- GC_TYPE
|
|
|
|
|
- GC_INC_TH
|
|
|
|
|
- GC_INC_SPEED
|
|
|
|
|
- GC_INC_STEP_SIZE
|
|
|
|
|
- GC_GEN_MIN_TH
|
|
|
|
|
- GC_GEN_MAX_TH
|
2021-01-01 16:52:56 +00:00
|
|
|
- GLOBAL_CONFIG
|
2023-03-23 20:29:29 +00:00
|
|
|
- GLOBAL_MODULES
|
|
|
|
|
- JIBRI_RECORDER_USER
|
|
|
|
|
- JIBRI_RECORDER_PASSWORD
|
|
|
|
|
- JIBRI_XMPP_USER
|
|
|
|
|
- JIBRI_XMPP_PASSWORD
|
|
|
|
|
- JICOFO_AUTH_PASSWORD
|
|
|
|
|
- JICOFO_COMPONENT_SECRET
|
|
|
|
|
- JIGASI_XMPP_USER
|
|
|
|
|
- JIGASI_XMPP_PASSWORD
|
|
|
|
|
- JVB_AUTH_USER
|
|
|
|
|
- JVB_AUTH_PASSWORD
|
|
|
|
|
- JWT_APP_ID
|
|
|
|
|
- JWT_APP_SECRET
|
|
|
|
|
- JWT_ACCEPTED_ISSUERS
|
|
|
|
|
- JWT_ACCEPTED_AUDIENCES
|
|
|
|
|
- JWT_ASAP_KEYSERVER
|
|
|
|
|
- JWT_ALLOW_EMPTY
|
|
|
|
|
- JWT_AUTH_TYPE
|
|
|
|
|
- JWT_ENABLE_DOMAIN_VERIFICATION
|
|
|
|
|
- JWT_TOKEN_AUTH_MODULE
|
|
|
|
|
- MATRIX_UVS_URL
|
|
|
|
|
- MATRIX_UVS_ISSUER
|
|
|
|
|
- MATRIX_UVS_AUTH_TOKEN
|
|
|
|
|
- MATRIX_UVS_SYNC_POWER_LEVELS
|
|
|
|
|
- LOG_LEVEL
|
|
|
|
|
- LDAP_AUTH_METHOD
|
2021-01-01 16:52:56 +00:00
|
|
|
- LDAP_BASE
|
|
|
|
|
- LDAP_BINDDN
|
|
|
|
|
- LDAP_BINDPW
|
|
|
|
|
- LDAP_FILTER
|
|
|
|
|
- LDAP_VERSION
|
|
|
|
|
- LDAP_TLS_CIPHERS
|
|
|
|
|
- LDAP_TLS_CHECK_PEER
|
|
|
|
|
- LDAP_TLS_CACERT_FILE
|
|
|
|
|
- LDAP_TLS_CACERT_DIR
|
|
|
|
|
- LDAP_START_TLS
|
2023-03-23 20:29:29 +00:00
|
|
|
- LDAP_URL
|
|
|
|
|
- LDAP_USE_TLS
|
|
|
|
|
- MAX_PARTICIPANTS
|
|
|
|
|
- PROSODY_RESERVATION_ENABLED
|
|
|
|
|
- PROSODY_RESERVATION_REST_BASE_URL
|
|
|
|
|
- PUBLIC_URL
|
|
|
|
|
- TURN_CREDENTIALS
|
|
|
|
|
- TURN_HOST
|
|
|
|
|
- TURNS_HOST
|
|
|
|
|
- TURN_PORT
|
|
|
|
|
- TURNS_PORT
|
|
|
|
|
- TURN_TRANSPORT
|
|
|
|
|
- TZ
|
2021-01-01 16:52:56 +00:00
|
|
|
- XMPP_DOMAIN
|
|
|
|
|
- XMPP_AUTH_DOMAIN
|
|
|
|
|
- XMPP_GUEST_DOMAIN
|
|
|
|
|
- XMPP_MUC_DOMAIN
|
|
|
|
|
- XMPP_INTERNAL_MUC_DOMAIN
|
|
|
|
|
- XMPP_MODULES
|
|
|
|
|
- XMPP_MUC_MODULES
|
2023-03-23 20:29:29 +00:00
|
|
|
- XMPP_MUC_CONFIGURATION
|
2021-01-01 16:52:56 +00:00
|
|
|
- XMPP_INTERNAL_MUC_MODULES
|
|
|
|
|
- XMPP_RECORDER_DOMAIN
|
2023-03-23 20:29:29 +00:00
|
|
|
- XMPP_PORT
|
2020-12-22 18:05:10 +00:00
|
|
|
networks:
|
|
|
|
|
meet.jitsi:
|
|
|
|
|
aliases:
|
2023-03-23 20:29:29 +00:00
|
|
|
- ${XMPP_SERVER:-xmpp.meet.jitsi}
|
2020-12-22 18:05:10 +00:00
|
|
|
|
|
|
|
|
# Focus component
|
|
|
|
|
jicofo:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod"]
|
2022-10-05 22:47:24 +00:00
|
|
|
<<: *logging
|
2023-03-23 20:29:29 +00:00
|
|
|
image: jitsi/jicofo:stable
|
|
|
|
|
restart: unless-stopped
|
2020-12-22 18:05:10 +00:00
|
|
|
volumes:
|
2021-01-01 16:52:56 +00:00
|
|
|
- ${CONFIG}/jicofo:/config:Z
|
2020-12-22 18:05:10 +00:00
|
|
|
environment:
|
2021-01-01 16:52:56 +00:00
|
|
|
- AUTH_TYPE
|
2023-03-23 20:29:29 +00:00
|
|
|
- BRIDGE_AVG_PARTICIPANT_STRESS
|
|
|
|
|
- BRIDGE_STRESS_THRESHOLD
|
2021-01-01 16:52:56 +00:00
|
|
|
- ENABLE_AUTH
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_AUTO_OWNER
|
|
|
|
|
- ENABLE_CODEC_VP8
|
|
|
|
|
- ENABLE_CODEC_VP9
|
|
|
|
|
- ENABLE_CODEC_H264
|
|
|
|
|
- ENABLE_OCTO
|
|
|
|
|
- ENABLE_RECORDING
|
|
|
|
|
- ENABLE_SCTP
|
|
|
|
|
- ENABLE_AUTO_LOGIN
|
|
|
|
|
- JICOFO_AUTH_PASSWORD
|
|
|
|
|
- JICOFO_ENABLE_BRIDGE_HEALTH_CHECKS
|
|
|
|
|
- JICOFO_CONF_INITIAL_PARTICIPANT_WAIT_TIMEOUT
|
|
|
|
|
- JICOFO_CONF_SINGLE_PARTICIPANT_TIMEOUT
|
|
|
|
|
- JICOFO_ENABLE_HEALTH_CHECKS
|
|
|
|
|
- JIBRI_BREWERY_MUC
|
|
|
|
|
- JIBRI_REQUEST_RETRIES
|
|
|
|
|
- JIBRI_PENDING_TIMEOUT
|
|
|
|
|
- JIGASI_BREWERY_MUC
|
|
|
|
|
- JIGASI_SIP_URI
|
|
|
|
|
- JVB_BREWERY_MUC
|
|
|
|
|
- MAX_BRIDGE_PARTICIPANTS
|
|
|
|
|
- OCTO_BRIDGE_SELECTION_STRATEGY
|
|
|
|
|
- SENTRY_DSN="${JICOFO_SENTRY_DSN:-0}"
|
|
|
|
|
- SENTRY_ENVIRONMENT
|
|
|
|
|
- SENTRY_RELEASE
|
|
|
|
|
- TZ
|
2021-01-01 16:52:56 +00:00
|
|
|
- XMPP_DOMAIN
|
|
|
|
|
- XMPP_AUTH_DOMAIN
|
|
|
|
|
- XMPP_INTERNAL_MUC_DOMAIN
|
|
|
|
|
- XMPP_MUC_DOMAIN
|
2023-03-23 20:29:29 +00:00
|
|
|
- XMPP_RECORDER_DOMAIN
|
2021-01-01 16:52:56 +00:00
|
|
|
- XMPP_SERVER
|
2023-03-23 20:29:29 +00:00
|
|
|
- XMPP_PORT
|
2020-12-22 18:05:10 +00:00
|
|
|
depends_on:
|
|
|
|
|
- prosody
|
|
|
|
|
networks:
|
|
|
|
|
meet.jitsi:
|
|
|
|
|
|
|
|
|
|
# Video bridge
|
|
|
|
|
jvb:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod"]
|
2022-10-05 22:47:24 +00:00
|
|
|
<<: *logging
|
2023-03-23 20:29:29 +00:00
|
|
|
image: jitsi/jvb:stable
|
|
|
|
|
restart: unless-stopped
|
2020-12-22 18:05:10 +00:00
|
|
|
ports:
|
2023-03-23 20:29:29 +00:00
|
|
|
- '${JVB_PORT:-10000}:${JVB_PORT:-10000}/udp'
|
|
|
|
|
- '127.0.0.1:${JVB_COLIBRI_PORT:-8080}:8080'
|
2020-12-22 18:05:10 +00:00
|
|
|
volumes:
|
2021-01-01 16:52:56 +00:00
|
|
|
- ${CONFIG}/jvb:/config:Z
|
2020-12-22 18:05:10 +00:00
|
|
|
environment:
|
2021-01-01 16:52:56 +00:00
|
|
|
- DOCKER_HOST_ADDRESS
|
2023-03-23 20:29:29 +00:00
|
|
|
- ENABLE_COLIBRI_WEBSOCKET
|
|
|
|
|
- ENABLE_OCTO
|
|
|
|
|
- JVB_ADVERTISE_IPS
|
|
|
|
|
- JVB_ADVERTISE_PRIVATE_CANDIDATES
|
2021-01-01 16:52:56 +00:00
|
|
|
- JVB_AUTH_USER
|
2020-12-22 18:05:10 +00:00
|
|
|
- JVB_AUTH_PASSWORD
|
2021-01-01 16:52:56 +00:00
|
|
|
- JVB_BREWERY_MUC
|
2023-03-23 20:29:29 +00:00
|
|
|
- JVB_DISABLE_STUN
|
2021-01-01 16:52:56 +00:00
|
|
|
- JVB_PORT
|
2023-03-23 20:29:29 +00:00
|
|
|
- JVB_MUC_NICKNAME
|
2021-01-01 16:52:56 +00:00
|
|
|
- JVB_STUN_SERVERS
|
2023-03-23 20:29:29 +00:00
|
|
|
- JVB_OCTO_BIND_ADDRESS
|
|
|
|
|
- JVB_OCTO_REGION
|
|
|
|
|
- JVB_OCTO_RELAY_ID
|
2021-01-01 16:52:56 +00:00
|
|
|
- JVB_WS_DOMAIN
|
|
|
|
|
- JVB_WS_SERVER_ID
|
|
|
|
|
- PUBLIC_URL
|
2023-03-23 20:29:29 +00:00
|
|
|
- SENTRY_DSN="${JVB_SENTRY_DSN:-0}"
|
|
|
|
|
- SENTRY_ENVIRONMENT
|
|
|
|
|
- SENTRY_RELEASE
|
|
|
|
|
- COLIBRI_REST_ENABLED
|
|
|
|
|
- SHUTDOWN_REST_ENABLED
|
2021-01-01 16:52:56 +00:00
|
|
|
- TZ
|
2023-03-23 20:29:29 +00:00
|
|
|
- XMPP_AUTH_DOMAIN
|
|
|
|
|
- XMPP_INTERNAL_MUC_DOMAIN
|
|
|
|
|
- XMPP_SERVER
|
|
|
|
|
- XMPP_PORT
|
2020-12-22 18:05:10 +00:00
|
|
|
depends_on:
|
|
|
|
|
- prosody
|
|
|
|
|
networks:
|
|
|
|
|
meet.jitsi:
|
|
|
|
|
aliases:
|
|
|
|
|
- jvb.meet.jitsi
|
|
|
|
|
|
2020-12-07 22:02:06 +00:00
|
|
|
|
2020-11-21 10:48:08 +00:00
|
|
|
db:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod", "dev"]
|
2022-10-05 22:47:24 +00:00
|
|
|
<<: *logging
|
2020-11-21 10:48:08 +00:00
|
|
|
image: mariadb
|
2021-08-14 12:57:25 +00:00
|
|
|
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --skip-innodb-read-only-compressed
|
2020-11-21 10:48:08 +00:00
|
|
|
environment:
|
2020-11-22 23:14:54 +00:00
|
|
|
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
|
|
|
|
|
- MYSQL_USER=${DB_USER}
|
|
|
|
|
- MYSQL_PASSWORD=${DB_PASSWORD}
|
2020-11-21 10:48:08 +00:00
|
|
|
volumes:
|
|
|
|
|
- db:/var/lib/mysql
|
2020-11-22 23:14:54 +00:00
|
|
|
- ./db/init:/docker-entrypoint-initdb.d
|
|
|
|
|
restart: always
|
2020-11-24 21:19:10 +00:00
|
|
|
networks:
|
|
|
|
|
- db
|
2020-11-22 23:14:54 +00:00
|
|
|
|
|
|
|
|
redis:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod", "dev"]
|
2020-11-22 23:14:54 +00:00
|
|
|
image: redis:alpine
|
2020-11-21 10:48:08 +00:00
|
|
|
restart: always
|
2020-11-24 21:19:10 +00:00
|
|
|
networks:
|
|
|
|
|
- redis
|
2020-11-21 10:48:08 +00:00
|
|
|
|
|
|
|
|
nginx:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["prod", "dev"]
|
|
|
|
|
image: nginxproxy/nginx-proxy
|
2020-11-21 10:48:08 +00:00
|
|
|
restart: always
|
2025-07-20 22:21:37 +01:00
|
|
|
ports:
|
|
|
|
|
- "80:80"
|
|
|
|
|
- "443:443"
|
2020-11-21 10:48:08 +00:00
|
|
|
volumes:
|
2025-07-20 22:21:37 +01:00
|
|
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
2020-12-13 23:08:24 +00:00
|
|
|
- /opt/ssl:/etc/nginx/certs:ro
|
2025-07-20 22:21:37 +01:00
|
|
|
- ./nginx-proxy/vhost.d/labs_location:/etc/nginx/vhost.d/labs.${DOMAIN}_location:ro
|
|
|
|
|
- ./nginx-proxy/vhost.d/office:/etc/nginx/vhost.d/office.${DOMAIN}:ro
|
|
|
|
|
- ./nginx-proxy/vhost.d/rec:/etc/nginx/vhost.d/rec.${DOMAIN}:ro
|
|
|
|
|
- ./nginx-proxy/vhost.d/tower_location_override:/etc/nginx/vhost.d/tower.${DOMAIN}_location_override:ro
|
|
|
|
|
- ./nginx-proxy/vhost.d/tower:/etc/nginx/vhost.d/tower.${DOMAIN}:ro
|
|
|
|
|
- ./nginx-proxy/conf.d/custom_proxy.conf:/etc/nginx/conf.d/custom_proxy.conf:ro
|
2020-11-22 23:14:54 +00:00
|
|
|
- nextcloud:/var/www/html/nextcloud:ro
|
2022-12-20 23:21:50 +00:00
|
|
|
- ./christmas:/var/www/html/christmas:ro
|
2023-07-23 14:12:06 +01:00
|
|
|
- tt-rss:/var/www/html/tt-rss:ro
|
2020-11-24 21:19:10 +00:00
|
|
|
networks:
|
|
|
|
|
- nginx
|
2020-11-21 10:48:08 +00:00
|
|
|
|
2023-03-23 20:29:29 +00:00
|
|
|
certs:
|
2025-07-20 22:21:37 +01:00
|
|
|
profiles: ["dev"]
|
|
|
|
|
image: paulczar/omgwtfssl
|
|
|
|
|
restart: "no"
|
|
|
|
|
volumes:
|
|
|
|
|
- /opt/ssl:/certs
|
2023-03-23 20:29:29 +00:00
|
|
|
environment:
|
|
|
|
|
- SSL_SUBJECT=${DOMAIN}
|
|
|
|
|
- CA_SUBJECT=chris@${DOMAIN}
|
|
|
|
|
- SSL_KEY=/certs/${DOMAIN}.key
|
|
|
|
|
- SSL_CSR=/certs/${DOMAIN}.csr
|
|
|
|
|
- SSL_CERT=/certs/${DOMAIN}.crt
|
2020-11-25 21:33:30 +00:00
|
|
|
|
2020-11-21 10:48:08 +00:00
|
|
|
volumes:
|
|
|
|
|
db:
|
2020-12-05 15:46:40 +00:00
|
|
|
gitea:
|
2020-11-22 23:14:54 +00:00
|
|
|
nextcloud:
|
2021-06-21 18:25:05 +01:00
|
|
|
foundry:
|
2023-12-01 09:03:33 +00:00
|
|
|
navidrome:
|
2024-12-26 00:06:39 +00:00
|
|
|
minecraft:
|
2024-12-30 12:14:53 +00:00
|
|
|
change:
|
2020-11-24 21:19:10 +00:00
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
db:
|
|
|
|
|
nginx:
|
|
|
|
|
redis:
|
2020-12-22 18:05:10 +00:00
|
|
|
meet.jitsi:
|
2022-10-05 22:47:24 +00:00
|
|
|
|