nix-config/rsc/docker/franz/matrix/docker-compose.yml
2024-03-03 20:04:13 +01:00

96 lines
2.8 KiB
YAML

version: '2.3'
services:
postgres:
container_name: synapse_db
image: postgres:14
restart: unless-stopped
volumes:
- /mnt/hdd/docker/synapse_db:/var/lib/postgresql/data
# These will be used in homeserver.yaml later on
environment:
- POSTGRES_DB=synapse
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=EjZ5AWAZAme2YvSr8uoWMm7csmXGY3rq
networks:
db_net:
synapse:
container_name: synapse
image: matrixdotorg/synapse:latest
restart: unless-stopped
volumes:
- /mnt/hdd/docker/matrix/synapse_data/:/data
environment:
UID: "1000"
GID: "1000"
TZ: "Europe/Berlin"
labels:
- traefik.enable=true
- traefik.http.routers.synapse.entrypoints=websecure
- traefik.http.routers.synapse.rule=Host(`synapse.ghoscht.com`, `localsynapse.ghoscht.com`,`synapse.local.ghoscht.com`)
- traefik.docker.network=traefik-net
- traefik.http.routers.synapse.tls=true
- traefik.http.routers.synapse.tls.certresolver=lencrypt
networks:
net:
db_net:
# profiles:
# - donotstart
element:
container_name: element
image: vectorim/element-web:latest
restart: unless-stopped
volumes:
- /mnt/hdd/docker/element_data/element-config.json:/app/config.json
labels:
- traefik.enable=true
- traefik.http.routers.element.entrypoints=websecure
- traefik.http.routers.element.rule=Host(`chat.ghoscht.com`)
- traefik.docker.network=traefik-net
- traefik.http.routers.element.tls=true
- traefik.http.routers.element.tls.certresolver=lencrypt
networks:
net:
redis:
container_name: synapse_cache
image: "redis:latest"
restart: "unless-stopped"
networks:
db_net:
nginx:
container_name: matrix_nginx
image: "nginx:latest"
restart: "unless-stopped"
volumes:
- /mnt/hdd/docker/matrix/nginx_data/matrix.conf:/etc/nginx/conf.d/matrix.conf
- /mnt/hdd/docker/matrix/nginx_data/www:/var/www/
labels:
- traefik.enable=true
- traefik.http.routers.matrix-nginx.entrypoints=websecure
- traefik.http.routers.matrix-nginx.rule=Host(`matrix.ghoscht.com`, `localmatrix.ghoscht.com`,`matrix.local.ghoscht.com`)
- traefik.docker.network=traefik-net
- traefik.http.routers.matrix-nginx.tls=true
- traefik.http.routers.matrix-nginx.tls.certresolver=lencrypt
networks:
net:
db_net:
# cloudflared:
# container_name: cloudflared
# image: cloudflare/cloudflared:latest
# restart: always
# command: tunnel --no-autoupdate run
# env_file:
# - cloudflared.env
# networks:
# net:
# db_net:
# matterbridge:
# container_name: matterbridge
# image: 42wim/matterbridge:stable
# restart: unless-stopped
networks:
net:
name: traefik-net
external: true
db_net: