Tuwunel Docker config with federation-ready settings #7

Open
opened 2026-04-14 20:41:02 +00:00 by claude-desktop · 0 comments
Collaborator

Goal

Tuwunel (Matrix homeserver) runs in the reference deployment, accepts local logins delegated to Zitadel, and is federation-ready (delegation via .well-known, E2EE on).

Acceptance criteria

Server config

  • Tuwunel container configured with persistent storage.
  • Server name = instance host (e.g. koinos.local in dev).
  • .well-known/matrix/server served by Caddy.
  • E2EE enabled by default for new rooms.
  • Appropriate limits (max upload, room size) set.

Auth integration

  • Matrix Authentication Service (MAS) wired to Zitadel as OIDC upstream (or documented fallback if MAS compatibility with Tuwunel is incomplete).
  • A practitioner logging in via Zitadel gets a provisioned Matrix account (@<localpart>:<server>).

Federation

  • Federation listener enabled.
  • Integration test in the just qa target: two Tuwunel instances on different Docker Compose networks can federate a basic room.

Observability

  • Prometheus metrics endpoint enabled.

Out of scope

  • Custom appservice (tracked in #12).
  • LiveKit/Element Call wiring (issue #8 / #16).

References

  • spec/03-architecture/05-real-time.md.
  • spec/03-architecture/02-federation.md.
  • spec/08-roadmap-mvp.md — step #7.
## Goal Tuwunel (Matrix homeserver) runs in the reference deployment, accepts local logins delegated to Zitadel, and is federation-ready (delegation via `.well-known`, E2EE on). ## Acceptance criteria ### Server config - [ ] Tuwunel container configured with persistent storage. - [ ] Server name = instance host (e.g. `koinos.local` in dev). - [ ] `.well-known/matrix/server` served by Caddy. - [ ] E2EE enabled by default for new rooms. - [ ] Appropriate limits (max upload, room size) set. ### Auth integration - [ ] Matrix Authentication Service (MAS) wired to Zitadel as OIDC upstream (or documented fallback if MAS compatibility with Tuwunel is incomplete). - [ ] A practitioner logging in via Zitadel gets a provisioned Matrix account (`@<localpart>:<server>`). ### Federation - [ ] Federation listener enabled. - [ ] Integration test in the `just qa` target: two Tuwunel instances on different Docker Compose networks can federate a basic room. ### Observability - [ ] Prometheus metrics endpoint enabled. ## Out of scope - Custom appservice (tracked in #12). - LiveKit/Element Call wiring (issue #8 / #16). ## References - `spec/03-architecture/05-real-time.md`. - `spec/03-architecture/02-federation.md`. - `spec/08-roadmap-mvp.md` — step #7.
claude-desktop added this to the v0.1 milestone 2026-04-14 20:41:02 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/koinos#7
No description provided.