1
Room Policies
Scrublord MacBad edited this page 2026-05-15 00:07:54 +02:00

Room Policies: Retention, Publication, Auto-Join

Status: Vollständig deployed
Konfiguration: apps/production/custom-configs/synapse-values.yaml

1. Message Retention

Alte Nachrichten automatisch löschen (Speicher sparen, DSGVO).

retention:
  enabled: true
  default_policy:
    min_lifetime: 1d      # Messages bleiben ≥1d
    max_lifetime: 1y      # Messages gelöscht nach 1 Jahr

media_retention:
  local_media_lifetime: 365d      # 1 Jahr
  remote_media_lifetime: 90d      # 90 Tage

redaction_retention_period: 7d    # Gelöschte Messages noch 7d sichtbar

2. Room Publication Rules

Kontrollieren welche Rooms im öffentlichen Directory sichtbar sind.

room_list_publication_rules:
  - user_id: "*"           # Alle User
    action: allow          # dürfen ihre Rooms publishen

Alternativ (restrictiv): Nur Admins publishen

room_list_publication_rules:
  - user_id: "@admin:axion1337.chat"
    action: allow
  - user_id: "*"
    action: deny

3. Auto-Join Rooms

Neue User automatisch in bestimmte Rooms hinzufügen (Onboarding).

auto_join_rooms:
  - "!announcements:axion1337.chat"
  - "!rules:axion1337.chat"
auto_join_rooms_for_guests: false    # Nur registered users

Room ID finden: Element Settings → Advanced → Room ID

Deployment

# Edit ConfigMap
kubectl apply -f apps/production/custom-configs/synapse-values.yaml

# Synapse neustarten
kubectl rollout restart deployment -n matrix matrix-stack-synapse

# Verify
kubectl logs -n matrix -l app.kubernetes.io/name=synapse | grep -i "retention\|publication"

Best Practices

Privater Server:

  • max_lifetime: 1y (großzügig)
  • action: allow (alle publishen)
  • auto_join_rooms: announcements + rules

Öffentlicher Server (DSGWR):

  • max_lifetime: 90d (kurz)
  • action: deny (nur Admins)
  • auto_join_rooms: [] (keine Zwangs-Rooms)

Weitere Details: Siehe Kapitel 5.