2024-09-12 13:44:06 +03:00
|
|
|
services:
|
|
|
|
|
postgres:
|
2025-11-20 05:50:36 +02:00
|
|
|
image: docker.io/postgres:18.1-alpine
|
2024-09-12 13:44:06 +03:00
|
|
|
user: ${UID}:${GID}
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
environment:
|
|
|
|
|
POSTGRES_USER: synapse
|
|
|
|
|
POSTGRES_PASSWORD: synapse-password
|
|
|
|
|
POSTGRES_DB: homeserver
|
|
|
|
|
POSTGRES_INITDB_ARGS: --lc-collate C --lc-ctype C --encoding UTF8
|
2025-10-26 08:30:42 +02:00
|
|
|
PGDATA: /data
|
2024-09-12 13:44:06 +03:00
|
|
|
volumes:
|
2025-10-26 08:30:42 +02:00
|
|
|
- ./postgres:/data
|
2024-09-12 13:44:06 +03:00
|
|
|
- /etc/passwd:/etc/passwd:ro
|
|
|
|
|
|
|
|
|
|
synapse:
|
2026-02-04 02:28:12 +02:00
|
|
|
image: ghcr.io/element-hq/synapse:v1.146.0
|
2024-09-12 13:44:06 +03:00
|
|
|
user: "${UID}:${GID}"
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
entrypoint: python
|
|
|
|
|
command: "-m synapse.app.homeserver -c /config/homeserver.yaml"
|
|
|
|
|
ports:
|
|
|
|
|
- "${SERVICE_SYNAPSE_BIND_PORT_CLIENT_API}:8008"
|
|
|
|
|
- "${SERVICE_SYNAPSE_BIND_PORT_FEDERATION_API}:8008"
|
|
|
|
|
volumes:
|
|
|
|
|
- ../../etc/services/core/synapse/config:/config:ro
|
|
|
|
|
- ./synapse/media-store:/media-store
|
|
|
|
|
|
|
|
|
|
element-web:
|
2026-02-04 02:28:12 +02:00
|
|
|
image: ghcr.io/element-hq/element-web:v1.12.9
|
2024-09-12 13:44:06 +03:00
|
|
|
user: "${UID}:${GID}"
|
|
|
|
|
restart: unless-stopped
|
2025-03-31 14:27:24 +03:00
|
|
|
environment:
|
|
|
|
|
ELEMENT_WEB_PORT: 8080
|
2024-09-12 13:44:06 +03:00
|
|
|
ports:
|
|
|
|
|
- "${SERVICE_ELEMENT_WEB_BIND_PORT_HTTP}:8080"
|
|
|
|
|
volumes:
|
|
|
|
|
- ../../etc/services/core/element-web/config.json:/app/config.json:ro
|
2025-03-31 14:27:24 +03:00
|
|
|
tmpfs:
|
|
|
|
|
- /var/cache/nginx:rw,mode=777
|
|
|
|
|
- /var/run:rw,mode=777
|
|
|
|
|
- /tmp/element-web-config:rw,mode=777
|
|
|
|
|
- /etc/nginx/conf.d:rw,mode=777
|
2024-09-12 13:44:06 +03:00
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
default:
|
|
|
|
|
name: ${NETWORK_NAME}
|
|
|
|
|
external: true
|