[Unit] Description=Conduwuit (matrix) Wants=network-online.target Wants=traefik.service After=network-online.target Documentation=https://conduwuit.puppyirl.gay/ [Container] ContainerName=conduwuit NoNewPrivileges=true Image=ghcr.io/girlbossceo/conduwuit:main ReadOnly=true Volume=/var/opt/conduwuit:/var/lib/conduwuit:z,U AutoUpdate=registry Network=web.network # conduwuit uses quite a few file descriptors, and on some systems it defaults to 1024 Ulimit=nofile=1048567:1048567 Label="traefik.enable=true" Label="traefik.http.routers.conduwuit.rule=(Host(`matrix.ellis.link`) || (Host(`ellis.link`) && PathPrefix(`/.well-known/matrix`)))" Label="traefik.http.services.conduwuit.loadbalancer.server.port=6167" Label="traefik.http.routers.conduwuit.entrypoints=https,matrix" Label="traefik.http.routers.conduwuit.middlewares=default@file" Label="homepage.group=Public" Label="homepage.name=Conduwuit" Label="homepage.href=https://element.ellis.link/" # https://github.com/girlbossceo/conduwuit/blob/032b199129f8648a77bde285f755a78e9ec349a7/src/api/client/unversioned.rs#L142 # Endpoint provided by sliding sync proxy used by some clients such as Element Web as a non-standard health check. Label="homepage.siteMonitor=https://matrix.ellis.link/client/server.json" Label="homepage.description=Matrix homeserver" Label=kuma.__monitor='' Environment="CONDUWUIT_SERVER_NAME=ellis.link" Environment="CONDUWUIT_DATABASE_PATH=/var/lib/conduwuit" Environment="CONDUWUIT_DATABASE_BACKEND=rocksdb" # should match the loadbalancer traefik label Environment="CONDUWUIT_PORT=6167" # in bytes, ~20 MB Environment="CONDUWUIT_MAX_REQUEST_SIZE=20000000" Environment="CONDUWUIT_ALLOW_REGISTRATION=true" Environment="CONDUWUIT_REGISTRATION_TOKEN=mousiness-magical-swung-atlantic" Environment="CONDUWUIT_ALLOW_FEDERATION=true" Environment="CONDUWUIT_ALLOW_PUBLIC_ROOM_DIRECTORY_OVER_FEDERATION=true" # Work around conduwuit sync polling bug Environment="CONDUWUIT_ALLOW_INCOMING_PRESENCE=false" Environment="CONDUWUIT_TRUSTED_SERVERS=[\"matrix.org\", \"matrix.pissing.dev\", \"matrix.ellis.link\"]" Environment="CONDUWUIT_LOG=info,hickory_proto::xfer::dns_exchange=error" Environment="CONDUWUIT_ADDRESS=0.0.0.0" Environment="CONDUWUIT_WELL_KNOWN={ \ client=https://matrix.ellis.link, \ server=matrix.ellis.link:443 \ }" Environment="CONDUWUIT_TURN_URIS=[\"turns:coturn.ellis.link?transport=udp\",\"turns:coturn.ellis.link?transport=tcp\",\"turn:coturn.ellis.link?transport=udp\",\"turn:coturn.ellis.link?transport=tcp\"]" Environment="CONDUWUIT_TURN_SECRET=qjRh55G51K7V0ZqB7Z8ZEkxZjBLJMgkwEs8acFjx" Environment="CONDUWUIT_SENTRY=true" Environment="CONDUWUIT_SENTRY_ENDPOINT=https://c885d1475cef5c54bbd32b1512e0ae20@o4507835405369344.ingest.de.sentry.io/4508059491696720" StopTimeout=100 [Service] Restart=on-failure RestartSec=5 TimeoutStopSec=2m TimeoutStartSec=2m # StartLimitInterval=1m StartLimitBurst=5 [Install] WantedBy=default.target