--- services: synapse: image: ghcr.io/element-hq/synapse:latest restart: always environment: - SYNAPSE_CONFIG_PATH=/data/homeserver.yaml volumes: - ./config/synapse:/data - /etc/default/matrix_shared_secret:/etc/default/matrix_shared_secret:ro depends_on: - db networks: matrix_server: ipv4_address: 10.10.10.4 ports: - 8008:8008 db: image: docker.io/postgres:16-alpine environment: - POSTGRES_DB=synapse - POSTGRES_USER=synapse - POSTGRES_PASSWORD=PG_PASS - POSTGRES_INITDB_ARGS=--encoding=UTF8 --lc-collate=C --lc-ctype=C volumes: - ./db:/var/lib/postgresql/data networks: matrix_server: ipv4_address: 10.10.10.2 element: image: vectorim/element-web:latest restart: unless-stopped volumes: - ./config/element/element-config.json:/app/config.json networks: matrix_server: ipv4_address: 10.10.10.3 depends_on: - synapse sydent: image: matrixdotorg/sydent:latest restart: unless-stopped networks: matrix_server: ipv4_address: 10.10.10.5 depends_on: - synapse synapse-admin: image: awesometechnologies/synapse-admin:latest restart: unless-stopped networks: matrix_server: ipv4_address: 10.10.10.6 depends_on: - synapse sliding-sync: image: ghcr.io/matrix-org/sliding-sync:latest restart: always environment: - SYNCV3_BINDADDR=:8008 - SYNCV3_SERVER=https://DOMAIN - SYNCV3_SECRET=SLIDING_SYNC_KEY - SYNCV3_DB=user=synapse dbname=synapse sslmode=disable host=db password=PG_PASS networks: matrix_server: ipv4_address: 10.10.10.7 depends_on: - synapse networks: matrix_server: external: true