deployment/stacks/matrix.yml

216 lines
4.6 KiB
YAML
Raw Normal View History

2021-12-18 10:35:43 +01:00
# Conduit - Behind Traefik Reverse Proxy
version: '3.4'
services:
# ====MATRIX SERVER=====
conduit:
image: 'matrixconduit/matrix-conduit:next'
2022-10-15 08:36:41 +02:00
healthcheck:
disable: true
2021-12-18 10:35:43 +01:00
deploy:
mode: 'replicated'
replicas: 1
placement:
constraints:
- 'node.labels.class==matrix'
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.conduit.rule=Host(`matrix.rustybever.be`)'
- 'traefik.http.routers.conduit.tls=true'
- 'traefik.http.routers.conduit.tls.certresolver=letsEncrypt'
- 'traefik.http.services.conduit.loadbalancer.server.port=6167'
- 'traefik.http.routers.conduit.middlewares=cors-headers@docker'
- 'traefik.http.middlewares.cors-headers.headers.accessControlAllowOriginList=*'
- 'traefik.http.middlewares.cors-headers.headers.accessControlAllowHeaders=Origin, X-Requested-With, Content-Type, Accept, Authorization'
- 'traefik.http.middlewares.cors-headers.headers.accessControlAllowMethods=GET, POST, PUT, DELETE, OPTIONS'
configs:
2022-03-14 19:08:29 +01:00
- source: conduit_v7
2021-12-18 10:35:43 +01:00
target: '/srv/conduit/conduit.toml'
environment:
- 'CONDUIT_CONFIG=/srv/conduit/conduit.toml'
2021-12-18 10:35:43 +01:00
networks:
- 'default'
- 'public'
volumes:
2022-03-12 12:04:28 +01:00
- 'conduit:/var/lib/matrix-conduit'
2021-12-18 10:35:43 +01:00
# =====FACEBOOK MESSENGER BRIDGE=====
facebook:
2022-04-23 11:55:27 +02:00
image: 'dock.mau.dev/mautrix/facebook:v0.4.0'
2021-12-18 10:35:43 +01:00
deploy:
mode: 'replicated'
replicas: 1
placement:
constraints:
- 'node.labels.class==matrix'
networks:
- 'default'
- 'monitoring'
volumes:
- 'facebook:/data'
facebook-db:
image: 'postgres:14.5-alpine'
2021-12-18 10:35:43 +01:00
deploy:
mode: 'replicated'
replicas: 1
placement:
constraints:
- 'node.labels.class==matrix'
healthcheck:
test: pg_isready
interval: 30s
timeout: 5s
retries: 3
start_period: 15s
2021-12-18 10:35:43 +01:00
environment:
- 'POSTGRES_DB=matrix_fb'
- 'POSTGRES_USER=matrix_fb'
- 'POSTGRES_PASSWORD=matrix_fb'
volumes:
- 'facebook-db:/var/lib/postgresql/data'
# =====SIGNAL BRIDGE=====
signal:
2022-10-27 08:48:47 +02:00
image: 'dock.mau.dev/mautrix/signal:v0.4.0'
2021-12-18 10:35:43 +01:00
deploy:
mode: 'replicated'
replicas: 1
placement:
constraints:
- 'node.labels.class==matrix'
networks:
- 'default'
- 'monitoring'
volumes:
- 'signal:/data'
- 'signald:/signald'
signald:
2022-10-27 08:48:47 +02:00
image: 'signald/signald:0.23.0'
2021-12-18 10:35:43 +01:00
deploy:
mode: 'replicated'
replicas: 1
placement:
constraints:
- 'node.labels.class==matrix'
volumes:
- 'signald:/signald'
signal-db:
image: 'postgres:14.5-alpine'
2021-12-18 10:35:43 +01:00
deploy:
mode: 'replicated'
replicas: 1
placement:
constraints:
- 'node.labels.class==matrix'
healthcheck:
test: pg_isready
interval: 30s
timeout: 5s
retries: 3
start_period: 15s
2021-12-18 10:35:43 +01:00
environment:
- 'POSTGRES_DB=matrix_signal'
- 'POSTGRES_USER=matrix_signal'
- 'POSTGRES_PASSWORD=matrix_signal'
volumes:
- 'signal-db:/var/lib/postgresql/data'
# =====IRC BRIDGE=====
irc:
image: 'hif1/heisenbridge:1.14.0'
2021-12-18 10:35:43 +01:00
command: >
-c /data/config.yaml
http://conduit:6167
deploy:
mode: 'replicated'
replicas: 1
placement:
constraints:
- 'node.labels.class==matrix'
volumes:
- 'irc:/data'
# =====DISCORD BRIDGE=====
2022-07-06 11:17:22 +02:00
# discord:
# image: 'dock.mau.dev/mautrix/discord:latest'
# deploy:
# mode: 'replicated'
# replicas: 1
# placement:
# constraints:
# - 'node.labels.class==matrix'
# networks:
# - 'default'
# - 'monitoring'
# volumes:
# - 'discord:/data'
2022-07-06 11:17:22 +02:00
# discord-db:
# image: 'postgres:14.3-alpine'
2022-07-06 11:17:22 +02:00
# deploy:
# mode: 'replicated'
# replicas: 1
# placement:
# constraints:
# - 'node.labels.class==matrix'
# healthcheck:
# test: pg_isready -U matrix_discord
# interval: 30s
# timeout: 5s
# retries: 3
# start_period: 15s
2022-07-06 11:17:22 +02:00
# environment:
# - 'POSTGRES_DB=matrix_discord'
# - 'POSTGRES_USER=matrix_discord'
# - 'POSTGRES_PASSWORD=matrix_discord'
# volumes:
# - 'discord-db:/var/lib/postgresql/data'
2021-12-18 10:35:43 +01:00
configs:
2022-03-14 19:08:29 +01:00
conduit_v7:
2021-12-18 10:35:43 +01:00
external: true
networks:
public:
external: true
monitoring:
external: true
volumes:
conduit:
facebook:
facebook-db:
signal:
signald:
signal-db:
irc:
2022-07-06 11:17:22 +02:00
# discord:
# discord-db: