version: '3' services: synapse-main: image: matrixdotorg/synapse:${SYNAPSE_VERSION} volumes: - /mnt/synapse_data:/data - ./config:/config command: - run - --config-path=/config/homeserver.yaml restart: always container_name: synapse-main synapse-worker-generic: image: matrixdotorg/synapse:${SYNAPSE_VERSION} command: - run - "--config-path=/config/homeserver.yaml" - "--config-path=/config/synapse-worker-generic.yaml" volumes: - /mnt/synapse_data:/data - ./config:/config environment: SYNAPSE_WORKER: synapse.app.generic_worker depends_on: - synapse-main restart: unless-stopped container_name: synapse-worker-generic synapse-worker-sync: image: matrixdotorg/synapse:${SYNAPSE_VERSION} command: - run - "--config-path=/config/homeserver.yaml" - "--config-path=/config/synapse-worker-sync.yaml" volumes: - /mnt/synapse_data:/data - ./config:/config environment: SYNAPSE_WORKER: synapse.app.generic_worker depends_on: - synapse-main restart: unless-stopped container_name: synapse-worker-sync synapse-worker-federation: image: matrixdotorg/synapse:${SYNAPSE_VERSION} command: - run - "--config-path=/config/homeserver.yaml" - "--config-path=/config/synapse-worker-federation.yaml" volumes: - /mnt/synapse_data:/data - ./config:/config environment: SYNAPSE_WORKER: synapse.app.generic_worker depends_on: - synapse-main restart: unless-stopped container_name: synapse-worker-federation nginx: image: nginx:${NGINX_VERSION} ports: - "80:80/tcp" - "443:443/tcp" volumes: - ./nginx:/etc/nginx/conf.d - /ssl:/ssl - /mnt/logs/nginx:/var/log/nginx/ restart: unless-stopped container_name: nginx redis: image: "redis:latest" ports: - "6379:6379/tcp" restart: "unless-stopped" container_name: redis