72 lines
1.9 KiB
YAML
72 lines
1.9 KiB
YAML
version: '3'
|
|
services:
|
|
postgres:
|
|
image: "postgres:14.1"
|
|
restart: "unless-stopped"
|
|
environment:
|
|
POSTGRES_PASSWORD: "admin"
|
|
volumes:
|
|
- "./postgres/data:/var/lib/postgresql/data"
|
|
- ./postgres/init.sql:/docker-entrypoint-initdb.d/init.sql
|
|
networks:
|
|
- matrix
|
|
|
|
redis:
|
|
image: "redis:latest"
|
|
restart: "unless-stopped"
|
|
networks:
|
|
- matrix
|
|
|
|
synapse:
|
|
image: "matrixdotorg/synapse:latest"
|
|
restart: "unless-stopped"
|
|
environment:
|
|
SYNAPSE_CONFIG_DIR: "/data"
|
|
SYNAPSE_CONFIG_PATH: "/data/homeserver.yaml"
|
|
UID: "1000"
|
|
GID: "1000"
|
|
TZ: "Europe/Paris"
|
|
volumes:
|
|
- "./synapse:/data"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.services.synapse.loadbalancer.server.port=8008"
|
|
- "traefik.http.routers.synapse.rule=Host(`synapse.combava.lan`)"
|
|
- "traefik.http.routers.synapse.entrypoints=https"
|
|
- "traefik.http.routers.synapse.tls=true"
|
|
networks:
|
|
- gateway
|
|
- matrix
|
|
|
|
nginx:
|
|
image: "nginx:latest"
|
|
restart: "unless-stopped"
|
|
volumes:
|
|
- "./nginx/matrix.conf:/etc/nginx/conf.d/matrix.conf"
|
|
- ./nginx/www:/var/www/
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.matrix.rule=Host(`matrix.combava.lan`)"
|
|
- "traefik.http.routers.matrix.entrypoints=https"
|
|
- "traefik.http.routers.matrix.tls=true"
|
|
networks:
|
|
- gateway
|
|
|
|
element:
|
|
image: "vectorim/element-web:latest"
|
|
volumes:
|
|
- "./element/config.json:/app/config.json:ro"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.services.element.loadbalancer.server.port=80"
|
|
- "traefik.http.routers.element.rule=Host(`element.combava.lan`)"
|
|
- "traefik.http.routers.element.entrypoints=https"
|
|
- "traefik.http.routers.element.tls=true"
|
|
networks:
|
|
- gateway
|
|
|
|
networks:
|
|
matrix:
|
|
gateway:
|
|
external: true
|