# This compose file is compatible with Compose itself, it might need some # adjustments to run properly with stack. services: synapse: image: docker.io/matrixdotorg/synapse:latest container_name: synapse restart: unless-stopped environment: - SYNAPSE_CONFIG_PATH=/data/homeserver.yaml volumes: - /home/fejy/docker/synapse:/data depends_on: - synapse_db networks: - proxy labels: - "traefik.enable=true" - "traefik.http.routers.http-synapse.entryPoints=web" - "traefik.http.routers.http-synapse.rule=Host(`synapse.nearfuture.industries`)" - "traefik.http.routers.http-synapse.middlewares=https_redirect" - "traefik.http.middlewares.https_redirect.redirectscheme.scheme=https" - "traefik.http.middlewares.https_redirect.redirectscheme.permanent=true" - "traefik.http.routers.https-synapse.entryPoints=websecure" - "traefik.http.routers.https-synapse.rule=Host(`synapse.nearfuture.industries`)" - "traefik.http.routers.https-synapse.service=synapse" - "traefik.http.services.synapse.loadbalancer.server.port=8008" synapse_db: image: docker.io/postgres:14-alpine container_name: synapse_db environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=${POSTGRES_PASS} - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C networks: - proxy volumes: - /home/fejy/docker/synapse-db/:/var/lib/postgresql/data nginx: image: nginx:1.12-alpine container_name: synapse_nginx restart: unless-stopped networks: - proxy labels: - "traefik.enable=true" - "traefik.http.services.matrix.loadbalancer.server.port=80" - "traefik.http.routers.matrix.rule=Host(`nearfuture.industries`)" - "traefik.http.routers.matrix.entrypoints=websecure" volumes: - ./nginx/matrix.conf:/etc/nginx/conf.d/matrix.conf - ./nginx/www:/var/www/ networks: proxy: external: true