136 lines
4.0 KiB
YAML
136 lines
4.0 KiB
YAML
version: "3.9"
|
|
|
|
services:
|
|
matrix:
|
|
image: matrixdotorg/synapse
|
|
restart: unless-stopped
|
|
user: "1337:1337"
|
|
# environment:
|
|
# SYNAPSE_REPORT_STATS: "no"
|
|
# SYNAPSE_SERVER_NAME: matrix.marcpartensky.com
|
|
# SYNAPSE_ENABLE_REGISTRATION: "true"
|
|
environment:
|
|
SYNAPSE_CONFIG_PATH: /data/homeserver.yml
|
|
volumes:
|
|
- ../data/matrix:/data
|
|
# - matrix:/data
|
|
networks:
|
|
- caddy
|
|
- postgres
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-fSs", "http://localhost:8008/health"]
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 5s
|
|
labels:
|
|
traefik.enable: "true"
|
|
traefik.http.routers.matrix.rule: Host(`matrix.marcpartensky.com`)
|
|
traefik.http.routers.matrix.entrypoints: web
|
|
# traefik.http.routers.matrix.tls.certresolver: tls
|
|
# traefik.http.services.matrix.loadbalancer.server.port: 8008
|
|
# traefik.http.routers.to-matrix-wellknown.rule: Host(`marcpartensky.com`) && PathPrefix(`/.well-known/matrix`)"
|
|
# traefik.http.routers.to-matrix-wellknown.tls: true"
|
|
# traefik.http.routers.to-matrix-wellknown.tls.certresolver: letsencrypt"
|
|
# traefik.http.routers.to-matrix-wellknown.middlewares: cors-headers@docker"
|
|
|
|
# https://community.traefik.io/t/setting-up-conduit-matrix-server-with-traefik/19394
|
|
well-known:
|
|
image: nginx:latest
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ../data/dendrite/well-known/conf:/etc/nginx/conf.d # the config to serve the .well-known/matrix files
|
|
- ../data/dendrite/well-known/www:/var/www/ # location of the client and server .well-known-files
|
|
networks:
|
|
- caddy
|
|
healthcheck:
|
|
test: service nginx status || exit 1
|
|
labels:
|
|
traefik.enable: "true"
|
|
traefik.http.services.well-known.loadbalancer.server.port: 80
|
|
traefik.http.routers.well-known.rule: (Host(`marcpartensky.com`) && PathPrefix(`/.well-known`)) || (Host(`marcpartensky.com`) && PathPrefix(`/.well-known`))
|
|
traefik.http.routers.well-known.entrypoints: web
|
|
# traefik.http.routers.well-known.rule: Host(`marcpartensky.com`) && PathPrefix(`/.well-known/matrix`)"
|
|
# traefik.http.routers.to-matrix-wellknown.tls: true"
|
|
# traefik.http.routers.to-matrix-wellknown.tls.certresolver: letsencrypt"
|
|
|
|
whatsapp:
|
|
container_name: whatsapp
|
|
image: dock.mau.dev/mautrix/whatsapp
|
|
restart: unless-stopped
|
|
# user: "1337:1337"
|
|
networks:
|
|
- postgres
|
|
volumes:
|
|
- ../data/matrix/whatsapp:/data
|
|
meta: # instagram
|
|
container_name: meta
|
|
image: dock.mau.dev/mautrix/meta
|
|
restart: unless-stopped
|
|
networks:
|
|
- postgres
|
|
volumes:
|
|
- ../data/matrix/meta:/data
|
|
# facebook: # messenger
|
|
# container_name: facebook
|
|
# image: dock.mau.dev/mautrix/facebook
|
|
# restart: unless-stopped
|
|
# networks:
|
|
# - postgres
|
|
# volumes:
|
|
# - ../data/matrix/facebook:/data
|
|
signal:
|
|
container_name: signal
|
|
image: dock.mau.dev/mautrix/signal
|
|
restart: unless-stopped
|
|
networks:
|
|
- postgres
|
|
volumes:
|
|
- ../data/matrix/signal:/data
|
|
discord:
|
|
container_name: discord
|
|
image: dock.mau.dev/mautrix/discord
|
|
restart: unless-stopped
|
|
networks:
|
|
- postgres
|
|
volumes:
|
|
- ../data/matrix/discord:/data
|
|
slack:
|
|
container_name: slack
|
|
image: dock.mau.dev/mautrix/slack
|
|
restart: unless-stopped
|
|
networks:
|
|
- postgres
|
|
volumes:
|
|
- ../data/matrix/slack:/data
|
|
twitter:
|
|
container_name: twitter
|
|
image: dock.mau.dev/mautrix/twitter
|
|
restart: unless-stopped
|
|
networks:
|
|
- postgres
|
|
volumes:
|
|
- ../data/matrix/twitter:/data
|
|
gmessages:
|
|
container_name: gmessages
|
|
image: dock.mau.dev/mautrix/gmessages
|
|
restart: unless-stopped
|
|
networks:
|
|
- postgres
|
|
volumes:
|
|
- ../data/matrix/gmessages:/data
|
|
messenger:
|
|
container_name: messenger
|
|
image: dock.mau.dev/mautrix/meta
|
|
restart: unless-stopped
|
|
networks:
|
|
- postgres
|
|
volumes:
|
|
- ../data/matrix/messenger:/data
|
|
|
|
networks:
|
|
caddy:
|
|
external: true
|
|
postgres:
|
|
external: true
|