Files
element_matrix_chat/docker-compose.yml
T
egutierrez 4909b8447e feat: MAS as auth provider + remove synapse-admin
- Migrate Synapse SQLite -> Postgres (synapse_port_db)
- Enable MSC3861 (matrix_authentication_service block)
- Disable password_config legacy
- Add bcrypt passwords scheme to MAS
- Register 4 MAS clients (element, matrix_pc, matrix_android, admin_panel)
- syn2mas migrated 21 users + 41 access_tokens
- Patch well-known with org.matrix.msc2965.authentication
- Remove synapse-admin container (replaced by custom admin panel — issue 0163)

Issue: 0162
Refs: dev/flows/0010-matrix-client-pc.md, dev/flows/0011-matrix-client-android.md
2026-05-24 20:51:41 +00:00

117 lines
2.6 KiB
YAML

services:
postgres:
image: postgres:16
restart: unless-stopped
networks:
default:
ipv4_address: 10.10.10.2
volumes:
- matrix_postgres_data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=synapse
- POSTGRES_USER=synapse
- POSTGRES_PASSWORD=STRONGPASSWORD123
ports:
- "5432:5432"
mas-postgres:
image: postgres:16
restart: unless-stopped
networks:
default:
ipv4_address: 10.10.10.14
volumes:
- mas_postgres_data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=mas
- POSTGRES_USER=mas_user
- POSTGRES_PASSWORD=mas_password
element:
image: vectorim/element-web:latest
restart: unless-stopped
volumes:
- ./element-config.json:/app/config.json:ro
networks:
default:
ipv4_address: 10.10.10.3
ports:
- "8081:80"
synapse:
image: matrixdotorg/synapse:latest
restart: unless-stopped
networks:
default:
ipv4_address: 10.10.10.4
volumes:
- ./synapse_data:/data
depends_on:
- postgres
user: "0:0"
environment:
- UID=1000
- GID=1000
# synapse-admin removed 2026-05-24 — replaced by custom admin panel (issue 0163)
# synapse-admin:
# image: awesometechnologies/synapse-admin:latest
# restart: unless-stopped
# networks:
# default:
# ipv4_address: 10.10.10.5
# ports:
# - "8082:80"
# depends_on:
# - synapse
mas:
image: ghcr.io/element-hq/matrix-authentication-service:latest
restart: unless-stopped
depends_on:
- mas-postgres
- synapse
networks:
default:
ipv4_address: 10.10.10.15
volumes:
- ./mas/config.yaml:/etc/mas/config.yaml:ro
- ./mas/secrets:/run/mas/secrets:ro
- ./mas/keys:/run/mas/keys:ro
environment:
- MAS_CONFIG=/etc/mas/config.yaml
command: ["server", "--config", "/etc/mas/config.yaml"]
ports:
- "8083:8080"
wellknown:
image: nginx:alpine
restart: unless-stopped
networks:
default:
ipv4_address: 10.10.10.12
volumes:
- ./configs/well-known:/var/www/well-known:ro
- ./configs/nginx/well-known.conf:/etc/nginx/conf.d/default.conf:ro
element-call-web:
image: nginx:alpine
restart: unless-stopped
networks:
default:
ipv4_address: 10.10.10.13
volumes:
- ./element-call/dist:/usr/share/nginx/html:ro
volumes:
matrix_postgres_data:
external: true
name: matrix_postgres_data
mas_postgres_data:
driver: local
networks:
default:
name: matrix_net
external: true