version: '3.7' services: synapse: # https://hub.docker.com/r/matrixdotorg/synapse # https://github.com/matrix-org/synapse/tree/master/docker image: "matrixdotorg/synapse:${IMAGE_VERSION:-latest}" container_name: synapse hostname: synapse extra_hosts: - 'host.docker.internal:host-gateway' ports: - "${INTERFACE_EXT:-127.0.0.1}:${HTTP_PORT_EXT:-8008}:${HTTP_PORT_INT:-8008}/tcp" volumes: - "${DATA_PATH:-./data}:/data" # SSL certs directory - "${SSL_PATH:-./ssl}:/ssl:ro" # Bridges # Telegram - "../mautrix-telegram/data:/bridges/mautrix-telegram/data:ro" env_file: .env networks: - default - matrix restart: unless-stopped logging: driver: "json-file" options: max-size: "${LOG_MAX_SIZE:-5m}" max-file: "${LOG_MAX_FILE:-5}" sliding-sync: # https://github.com/matrix-org/sliding-sync image: "ghcr.io/matrix-org/sliding-sync:${SS_PROXY_IMAGE_TAG:-latest}" container_name: matrix-ss depends_on: - synapse extra_hosts: - 'host.docker.internal:host-gateway' ports: - "${SS_EXT_ADR:-127.0.0.1}:${SS_EXT_PORT:-8889}:${SS_BIND_PORT:-8889}" environment: # https://github.com/matrix-org/sliding-sync?tab=readme-ov-file#setup - "SYNCV3_SERVER=${SYNCV3_SERVER}" - "SYNCV3_DB=${SYNCV3_DB}" - "SYNCV3_SECRET=${SYNCV3_SECRET}" - "SYNCV3_BINDADDR=${SS_BIND_ADDR:-0.0.0.0}:${SS_BIND_PORT:-8889}" restart: unless-stopped logging: driver: "json-file" options: max-size: "${LOG_MAX_SIZE:-5m}" max-file: "${LOG_MAX_FILE:-5}" networks: matrix: external: true