106 lines
3.2 KiB
YAML
106 lines
3.2 KiB
YAML
services:
|
|
element-call-auth-service:
|
|
image: ghcr.io/element-hq/lk-jwt-service:0.3.0
|
|
container_name: element-call-jwt
|
|
hostname: auth-server
|
|
environment:
|
|
- LK_JWT_PORT=8080
|
|
- LIVEKIT_URL=https://${LIVEKIT_DOMAIN}/livekit/sfu
|
|
- LIVEKIT_KEY=devkey
|
|
- LIVEKIT_SECRET=${LIVEKIT_SECRET_KEY}
|
|
- LIVEKIT_FULL_ACCESS_HOMESERVERS=${MATRIX_DOMAIN}
|
|
restart: always
|
|
ports:
|
|
- 8071:8080
|
|
|
|
element-call-livekit:
|
|
image: livekit/livekit-server:v1.9.1
|
|
command: --config /etc/livekit.yaml
|
|
ports:
|
|
- "7880:7880/tcp"
|
|
- "7881:7881/tcp"
|
|
- "7882:7882/tcp"
|
|
- "50100-50200:50100-50200/udp"
|
|
restart: always
|
|
volumes:
|
|
- ${LIVEKIT_CONFIG_DIR}/config.yaml:/etc/livekit.yaml:ro
|
|
|
|
mautrix-signal:
|
|
container_name: mautrix-signal
|
|
image: dock.mau.dev/mautrix/signal:v0.8.7
|
|
restart: always
|
|
volumes:
|
|
- ${MAUTRIX_SIGNAL_DATA_DIR}:/data
|
|
depends_on:
|
|
shared-postgres:
|
|
condition: service_healthy
|
|
environment:
|
|
# Configure database connection for mautrix-signal
|
|
MAUTRIX_SIGNAL_DATABASE_TYPE: postgres
|
|
MAUTRIX_SIGNAL_DATABASE_URI: postgresql://${MAUTRIX_SIGNAL_POSTGRES_USER}:${MAUTRIX_SIGNAL_POSTGRES_PASSWORD}@shared-postgres:5432/${MAUTRIX_SIGNAL_POSTGRES_DB}?sslmode=disable
|
|
networks:
|
|
- postgres-network
|
|
|
|
mautrix-whatsapp:
|
|
container_name: mautrix-whatsapp
|
|
image: dock.mau.dev/mautrix/whatsapp:v0.12.5
|
|
restart: always
|
|
volumes:
|
|
- ${MAUTRIX_WHATSAPP_DATA_DIR}:/data
|
|
depends_on:
|
|
shared-postgres:
|
|
condition: service_healthy
|
|
environment:
|
|
# Configure database connection for mautrix-whatsapp
|
|
MAUTRIX_WHATSAPP_DATABASE_TYPE: postgres
|
|
MAUTRIX_WHATSAPP_DATABASE_URI: postgresql://${MAUTRIX_WHATSAPP_POSTGRES_USER}:${MAUTRIX_WHATSAPP_POSTGRES_PASSWORD}@shared-postgres:5432/${MAUTRIX_WHATSAPP_POSTGRES_DB}?sslmode=disable
|
|
networks:
|
|
- postgres-network
|
|
|
|
mas:
|
|
image: ghcr.io/element-hq/matrix-authentication-service:1.4.0
|
|
restart: always
|
|
working_dir: /config
|
|
volumes:
|
|
- ${MAS_CONFIG_DIR}:/config
|
|
environment:
|
|
MAS_CONFIG: /config/config.yaml
|
|
# Database connection will be configured in the MAS config file
|
|
MAS_DATABASE_URL: postgresql://${MAS_POSTGRES_USER}:${MAS_POSTGRES_PASSWORD}@shared-postgres:5432/${MAS_POSTGRES_DB}?sslmode=disable
|
|
ports:
|
|
- "8090:8090"
|
|
depends_on:
|
|
shared-postgres:
|
|
condition: service_healthy
|
|
networks:
|
|
- postgres-network
|
|
|
|
synapse:
|
|
container_name: synapse
|
|
image: matrixdotorg/synapse:v1.140.0
|
|
restart: always
|
|
volumes:
|
|
- ${SYNAPSE_CONFIG_DIR}:/data
|
|
ports:
|
|
- "8008:8008"
|
|
environment:
|
|
# Synapse database connection will be configured in homeserver.yaml
|
|
SYNAPSE_DATABASE_HOST: shared-postgres
|
|
SYNAPSE_DATABASE_PORT: 5432
|
|
SYNAPSE_DATABASE_USER: ${SYNAPSE_POSTGRES_USER}
|
|
SYNAPSE_DATABASE_PASSWORD: ${SYNAPSE_POSTGRES_PASSWORD}
|
|
SYNAPSE_DATABASE_NAME: ${SYNAPSE_POSTGRES_DB}
|
|
depends_on:
|
|
shared-postgres:
|
|
condition: service_healthy
|
|
mas:
|
|
condition: service_started
|
|
mautrix-whatsapp:
|
|
condition: service_started
|
|
networks:
|
|
- postgres-network
|
|
|
|
networks:
|
|
postgres-network:
|
|
external: true
|