diff --git a/infra/matrix/conduit/docker-compose.yml b/infra/matrix/conduit/docker-compose.yml new file mode 100644 index 00000000..4b005411 --- /dev/null +++ b/infra/matrix/conduit/docker-compose.yml @@ -0,0 +1,58 @@ +version: '3.8' + +services: + conduit: + image: docker.io/girlbossceo/conduit:v0.8.0 + container_name: matrix-conduit + restart: unless-stopped + volumes: + - ./data:/var/lib/matrix-conduit + environment: + - CONDUIT_SERVER_NAME=${CONDUIT_SERVER_NAME} + - CONDUIT_DATABASE_PATH=/var/lib/matrix-conduit + - CONDUIT_DATABASE_BACKEND=${CONDUIT_DATABASE_BACKEND:-rocksdb} + - CONDUIT_PORT=6167 + - CONDUIT_ADDRESS=0.0.0.0 + - CONDUIT_CONFIG=${CONDUIT_CONFIG:-} + - CONDUIT_ALLOW_REGISTRATION=${CONDUIT_ALLOW_REGISTRATION:-false} + - CONDUIT_ALLOW_FEDERATION=${CONDUIT_ALLOW_FEDERATION:-true} + - CONDUIT_ENABLE_METRICS=${CONDUIT_ENABLE_METRICS:-false} + - RUST_LOG=info + networks: + - matrix + expose: + - "6167" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:6167/_matrix/client/versions"] + interval: 30s + timeout: 10s + retries: 5 + + caddy: + image: docker.io/caddy:2.7-alpine + container_name: matrix-caddy + restart: unless-stopped + ports: + - "80:80" + - "443:443" + - "8448:8448" # Federation + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile + - caddy_data:/data + - caddy_config:/config + environment: + - DOMAIN=${DOMAIN} + depends_on: + - conduit + networks: + - matrix + cap_add: + - NET_ADMIN # For Caddy to bind low ports + +networks: + matrix: + name: matrix + +volumes: + caddy_data: + caddy_config: