Service — Matrix (Synapse + Element Web)

What it is

Matrix is an open, self-hosted messaging protocol. On JUNC1 it serves as the primary text interface for talking to Quorra — and as a private messaging platform for the household, replacing cloud messaging services.

Location

ComponentURLPort
Element Web (chat UI)https://chat.juncyard.com8009 (internal)
Synapse (Matrix server)https://matrix.juncyard.com8008 (internal)
  • Server name: juncyard.com (Matrix user IDs look like @kurt:juncyard.com)
  • Compose: ~/projects/junc1/compose/chat/docker-compose.yml
  • Synapse data: ~/data/chat/synapse/
  • Database: ~/data/chat/synapse-db/ (PostgreSQL)

Well-known delegation

juncyard.com/.well-known/matrix/server → matrix.juncyard.com:443 juncyard.com/.well-known/matrix/client → matrix.juncyard.com

This lets Matrix clients auto-discover the server from the clean server name juncyard.com.

Authentication

SSO via Authentik (OIDC). The login page at https://chat.juncyard.com shows a “Sign in with SSO” button. Local password auth is still enabled.

  • public_baseurl: "https://matrix.juncyard.com" must be set in homeserver.yaml so Synapse builds OIDC callback URLs with the right domain.

Quorra on Matrix

Quorra is reachable as the bot user @quorra:juncyard.com. The bot itself is a thin adapter — it has no LLM or tool logic of its own. It receives Matrix messages, forwards them to QuorraAPI, and posts the replies back, editing the message progressively as the response streams.

The adapter lives in the quorra-matrix repo. Its behaviour — DM vs. mention gating, per-user identity mapping, room-to-scope resolution, streaming — is documented in Quorra’s service integrations reference.

Matrix user IDs use the homeserver server_name juncyard.com (e.g. @quorra:juncyard.com), not the client host matrix.juncyard.com.

Integration status

Integrated. Synapse, Element Web, and the Quorra Matrix bot are all deployed; Matrix is Quorra’s primary chat surface today.