docs: create betrieb/room-policies
This commit is contained in:
committed by
ThreadNet Wiki
parent
0098a264fd
commit
3a70cddc44
@@ -0,0 +1,90 @@
|
|||||||
|
---
|
||||||
|
title: Room Policies
|
||||||
|
description: Retention, Publication, Auto-Join
|
||||||
|
published: true
|
||||||
|
date: 2026-08-13T18:04:54.839Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2026-08-13T18:04:54.839Z
|
||||||
|
---
|
||||||
|
|
||||||
|
**Status**: ✅ Vollständig deployed
|
||||||
|
**Konfiguration**: `apps/production/custom-configs/synapse-values.yaml`
|
||||||
|
|
||||||
|
## 1. Message Retention
|
||||||
|
|
||||||
|
Alte Nachrichten automatisch löschen (Speicher sparen, DSGVO).
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
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.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
room_list_publication_rules:
|
||||||
|
- user_id: "*" # Alle User
|
||||||
|
action: allow # dürfen ihre Rooms publishen
|
||||||
|
```
|
||||||
|
|
||||||
|
**Alternativ (restrictiv)**: Nur Admins publishen
|
||||||
|
```yaml
|
||||||
|
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).
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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.
|
||||||
Reference in New Issue
Block a user