echo6-docs/vault/docs/matrix/synapse.md
echo6-autocommit ef8b1e0bd9 auto: docs sync 2026-07-13T12:00:23+00:00
Files changed: engine/.embcache.json engine/changelog.md engine/lint-report.md vault/.trash/2026-06-19.md vault/docs/hardware/environment.md vault/docs/hardware/ip-allocation.md vault/docs/matrix/archivist.md vault/docs/matrix/matrix_host.md vault/docs/matrix/mautrix_signal.md vault/docs/matrix/synapse.md vault/docs/matrix/synapse_retention_discovery.md vault/docs/navi/cc-rules.md vault/docs/navi/deployment.md vault/docs/navi/themes.md vault/docs/services/ots-setup.md vault/docs/services/services.md vault/docs/services/usenet.md vault/docs/software/authentik.md vault/docs/software/caddy.md vault/docs/software/central.md vault/docs/software/dns.md vault/docs/software/geo-tools.md vault/docs/software/navi.md vault/docs/software/recon.md vault/docs/software/searxng.md vault/glossary.md vault/notes/echo6-landing-page-data-export.md vault/notes/ia-download-queue.md vault/projects/advbbs-project.md vault/projects/argus.md vault/projects/deploy-livesync.md vault/projects/fleet-patch-audit.md vault/projects/fleet-platform-baseline.md vault/projects/matrix-synapse-deployment.md vault/projects/meshai-config-hot-apply.md vault/projects/meshai-region-routing-plan.md vault/projects/meshai.md vault/projects/meshcore-transport.md vault/projects/meshtastic-headscale-runbook.md vault/projects/mmud-project.md vault/projects/nominatim-v5-reimport.md vault/runbooks/add-peertube-channel.md vault/runbooks/authentik-access-groups.md vault/runbooks/authentik-create-invitation.md vault/runbooks/authentik-oidc-application.md vault/runbooks/authentik-upgrade.md vault/runbooks/central-deploy-cutover.md vault/runbooks/ct-runbook.md vault/runbooks/edge2-access-reference.md vault/runbooks/expose-service-contabo.md vault/runbooks/expose-service-edge2.md vault/runbooks/expose-service-home.md vault/runbooks/fleet-magicdns-resolved-migration.md vault/runbooks/headless-browser-page-verification.md vault/runbooks/headscale-oidc-boot-order.md vault/runbooks/headscale-onboard-node.md vault/runbooks/ia-cli-reference.md vault/runbooks/ia-download-mirror.md vault/runbooks/idahomesh-bridge-setup.md vault/runbooks/idahomesh-vpn-device-setup.md vault/runbooks/lxc-service-migration.md vault/runbooks/mailcow-create-mailbox.md vault/runbooks/meshai-prod-compose-override.md vault/runbooks/meshmonitor-password-reset.md vault/runbooks/meshtastic-sidecar-node.md vault/runbooks/meshtasticd-sim-nodes-runbook.md vault/runbooks/nordvpn-lxc.md vault/runbooks/peertube-remote-runner.md vault/runbooks/pg-backup.md vault/runbooks/pi-nas-omv-runbook.md vault/runbooks/pipeline-patterns.md vault/runbooks/proxmox-create-ubuntu-vm.md vault/runbooks/proxmox-onboard-node.md vault/runbooks/pymc-repeater-kiss-tnc-reenumeration.md vault/runbooks/recon-operations.md vault/runbooks/recon-service-integration.md vault/runbooks/syncthing-add-node.md vault/runbooks/toc-cortex-pve9.2-update.md vault/session-resume/SESSION-HANDOFF-meshai-test.md
2026-07-13 12:00:23 +00:00

3.8 KiB

title type tags aliases related updated
Synapse Deployment Reference reference
matrix
matrix-synapse-deployment
mautrix_signal
synapse_retention_discovery
archivist
caddy
2026-07-13

Synapse Deployment Reference

Generated: 2026-04-09 (Phase 1)

Install Method

  • Docker Compose at /opt/matrix/docker-compose.yml
  • Four containers on matrix-net bridge network:
    • matrix-synapse (matrixdotorg/synapse:latest) → 127.0.0.1:8008
    • matrix-mas (ghcr.io/element-hq/matrix-authentication-service:latest) → 127.0.0.1:8085
    • matrix-postgres (postgres:16-alpine) → internal 5432
    • matrix-element (vectorim/element-web:latest) → 127.0.0.1:8088

Synapse Version

  • 1.147.1 (confirmed via admin API and docker exec)

Key Config Values (from homeserver.yaml)

  • server_name: echo6.co
  • public_baseurl: https://matrix.echo6.co/
  • listeners: port 8008, HTTP, x_forwarded=true, bind 0.0.0.0, resources=[client, federation]
  • database: psycopg2 → matrix-postgres:5432, db=synapse, user=synapse
  • media_store_path: /data/media_store (95 MB used)
  • registration_shared_secret: PRESENT (not redacted here — see synapse_homeserver.yaml.sanitized)
  • signing_key_path: /data/echo6.co.signing.key
  • enable_registration: false
  • url_preview_enabled: true
  • report_stats: false
  • app_service_config_files: NOT PRESENT (no appservices currently registered)
  • encryption_enabled_by_default_for_room_type: NOT SET (default=off)
  • MAS delegation: enabled, endpoint=http://matrix-mas:8080/, shared secret present

MAS (Matrix Authentication Service)

  • Version: v1.12.0
  • Listen: 8080 (web), 8081 (internal/health)
  • Database: postgresql://mas:***@matrix-postgres:5432/mas
  • Upstream OAuth2: authentik (auth.echo6.co) via OIDC
  • Matrix integration: kind=synapse, homeserver=echo6.co, endpoint=http://matrix-synapse:8008/
  • Passwords: enabled (bcrypt v1 + argon2id v2)
  • Email transport: blackhole (not sending)

Database (PostgreSQL)

  • Version: 16.12 (Alpine)
  • Host: matrix-postgres container on matrix-net
  • Databases: synapse (owner: synapse), mas (owner: mas), postgres, template0, template1
  • Users: synapse (Superuser, Create role, Create DB), mas (regular)
  • Auth: password from .env file (POSTGRES_PASSWORD)
  • New DB/user can be created without collision — synapse user has Superuser/Create role privileges

Reverse Proxy (Caddy on edge2)

  • matrix.echo6.co routes:
    • /_matrix/client/*/login|logout|refresh|auth_metadata → MAS (127.0.0.1:8085)
    • /_matrix/* → Synapse (127.0.0.1:8008)
    • /_synapse/* → Synapse (127.0.0.1:8008)
    • Everything else → MAS (127.0.0.1:8085)
  • element.echo6.co → 127.0.0.1:8088

Federation

  • Well-known served from echo6.co (utility caddy, NOT matrix.echo6.co)
  • Federation tester: AllChecksOK=true, TLS 1.3, valid Ed25519 key, valid certificates
  • Port 8448 exposed in container but NOT used externally (federation via 443 + well-known)

Existing Appservices

  • NONE — no app_service_config_files in homeserver.yaml, no registration files in /opt/matrix/synapse/

Backup

  • Cron: daily at 3 AM via /opt/matrix/scripts/pg_backup.sh
  • Backs up synapse DB only (NOT mas DB)
  • Retention: 14 days
  • Location: /opt/matrix/backups/

Ports in 29xxx Range

  • NONE in use — confirmed via ss -tlnp

MSC4190 Support

  • Synapse 1.147.1 supports MSC4190 (merged in 1.121.0)
  • Requires io.element.msc4190: true in appservice registration file
  • Also requires experimental_features.msc3202_transaction_extensions: true in homeserver.yaml