T-HUB/infra/occupymedia/docker-compose.chat.yml
glass beadian af93176bbe ops: tuwunel loads appservice registrations via TUWUNEL_APPSERVICE_DIR
Inline [appservice.*] tables drop the namespaces field (registration then
fails M_EXCLUSIVE for every AS user). The env var points tuwunel at the
/appservices mount (telegram + hub YAMLs, both with namespaces).
2026-10-13 16:05:48 +00:00

35 lines
1.3 KiB
YAML

# occupymedia.cc — CHAT CT (occ-chat, CT 152, tailscale 100.117.210.52)
# Matrix plane: tuwunel v1.9.4 (config: /opt/occupymedia/tuwunel.toml, secret: R2 creds in that file,
# registration token inline). Rollback: docker-compose.chat.yml.pre-tuwunel + the
# conduwuit_data volume (never deleted) + snapshots in /opt/backups.
name: occ-chat
services:
conduwuit:
image: tuwunel:v1.9.4
command: ["-c", "/etc/tuwunel/tuwunel.toml"]
environment:
# Appservice registrations (telegram + hub) load from this directory; the
# hub AS owns the exclusive hub_* namespace for in-app Chat sign-in.
TUWUNEL_APPSERVICE_DIR: /appservices
volumes:
- tuwunel_data:/var/lib/conduwuit
- /opt/occupymedia/tuwunel.toml:/etc/tuwunel/tuwunel.toml:ro
- /opt/occupymedia/appservices:/appservices:ro
ports:
- "6167:6167" # tunnel: chat.occupymedia.cc -> 100.117.210.52:6167
restart: unless-stopped
# First run is interactive: docker compose run --rm mautrix-telegram
mautrix-telegram:
image: dock.mau.dev/mautrix/telegram:latest
volumes: [mautrix_telegram_data:/data]
depends_on: [conduwuit]
profiles: ["bridges"]
restart: unless-stopped
volumes:
tuwunel_data:
conduwuit_data: # pre-tuwunel rollback source
mautrix_telegram_data: