97 lines
2.8 KiB
YAML
97 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:
|