services: synapse: image: matrixdotorg/synapse:latest container_name: matrix_synapse restart: unless-stopped ports: - "${SYNAPSE_PORT:-8008}:8008" volumes: - ./data:/data environment: - SYNAPSE_CONFIG_PATH=/data/homeserver.yaml - UID=1000 - GID=1000 - TZ=Europe/Berlin depends_on: - synapse_db synapse_db: image: postgres:16-alpine container_name: matrix_synapse_db restart: unless-stopped environment: POSTGRES_DB: ${POSTGRES_DB:-synapse} POSTGRES_USER: ${POSTGRES_USER:-synapse} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} PGDATA: /var/lib/postgresql/data/pgdata volumes: - ./postgres_data:/var/lib/postgresql/data element: image: vectorim/element-web:latest container_name: matrix_element restart: unless-stopped ports: - "${ELEMENT_PORT:-8088}:80" volumes: - ./element-config.json:/app/config.json