--- services: synapse: image: ghcr.io/element-hq/synapse:v1.126.0 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 matrix_db: ports: - 8008:8008 healthcheck: test: ["CMD", "curl", "-fSs", "http://localhost:8008/health"] interval: 15s timeout: 5s retries: 3 start_period: 5s db: image: docker.io/postgres:16-alpine environment: - POSTGRES_DB=synapse - POSTGRES_USER=matrix_synapse - POSTGRES_PASSWORD=PG_PASS - POSTGRES_INITDB_ARGS=--encoding=UTF8 --lc-collate=C --lc-ctype=C volumes: - ./db:/var/lib/postgresql/data networks: matrix_db: element: image: vectorim/element-web:v1.11.95 restart: unless-stopped volumes: - ./config/element/element-config.json:/app/config.json networks: matrix_server: ipv4_address: 10.10.10.3 depends_on: synapse: condition: service_healthy sydent: image: docker.io/matrixdotorg/sydent:v2.6.1 restart: unless-stopped networks: matrix_server: ipv4_address: 10.10.10.5 depends_on: synapse: condition: service_healthy synapse-admin: image: awesometechnologies/synapse-admin:0.10.3 restart: unless-stopped networks: matrix_server: ipv4_address: 10.10.10.6 depends_on: synapse: condition: service_healthy hydrogen-web: image: ghcr.io/element-hq/hydrogen-web:v0.5.1 restart: unless-stopped environment: - | CONFIG_OVERRIDE= { "push": { "appId": "io.element.hydrogen.web", "gatewayUrl": "https://matrix.org", "applicationServerKey": "BC-gpSdVHEXhvHSHS0AzzWrQoukv2BE7KzpoPO_FfPacqOo3l1pdqz7rSgmB04pZCWaHPz7XRe6fjLaC-WPDopM" }, "defaultHomeServer": "DOMAIN", "bugReportEndpointUrl": "https://element.io/bugreports/submit", "themeManifests": [ "assets/theme-element.json" ], "defaultTheme": { "light": "element-light", "dark": "element-dark" } } networks: matrix_server: ipv4_address: 10.10.10.8 networks: matrix_server: external: true matrix_db: external: false