KI-AGENT: Seafile aus Standard-Stack entfernen

This commit is contained in:
2026-05-22 17:54:25 +02:00
parent cacfce4d15
commit 5963a9280c
4 changed files with 21 additions and 204 deletions

View File

@@ -122,8 +122,6 @@ mkdir -p /opt/fedeo/traefik/letsencrypt
mkdir -p /opt/fedeo/traefik/logs
mkdir -p /opt/fedeo/postgres
mkdir -p /opt/fedeo/minio
mkdir -p /opt/fedeo/seafile/mysql
mkdir -p /opt/fedeo/seafile/data
touch /opt/fedeo/traefik/letsencrypt/acme.json
chmod 600 /opt/fedeo/traefik/letsencrypt/acme.json
```
@@ -134,8 +132,7 @@ Als Startpunkt kannst du die Beispielumgebung kopieren:
cp .env.example .env
```
Ersetze anschließend alle Platzhalter und passe mindestens `DOMAIN`, `CONTACT_EMAIL`, Datenbank-, Secret-, SMTP- und S3-Werte an.
Seafile läuft im Standard-Stack unter derselben Domain auf `/files`, zum Beispiel `https://app.example.com/files`. Die für Seafile nötigen technischen Nebenpfade wie `/media`, `/seafhttp` und `/seafdav` werden auf derselben Domain mitgeroutet.
Ersetze anschließend alle Platzhalter und passe mindestens `DOMAIN`, `CONTACT_EMAIL`, Datenbank-, Secret-, SMTP- und S3-Werte an. Seafile ist kein Teil des Standard-Stacks; wenn FEDEO später Seafile als File-Backend nutzen soll, zeigst du die Seafile-Variablen auf einen externen Seafile-Dienst.
Alternativ kannst du die Konfiguration geführt erzeugen lassen:
@@ -208,27 +205,10 @@ S3_SECRET_KEY=change-this-minio-password
S3_BUCKET=fedeo
FEDEO_FILE_BACKEND=s3
SEAFILE_SERVER_HOSTNAME=app.example.com
SEAFILE_SERVER_PROTOCOL=https
SEAFILE_SITE_ROOT=/files/
SEAFILE_BASE_URL=https://app.example.com/files
SEAFILE_INTERNAL_URL=http://seafile:80
SEAFILE_IMAGE=seafileltd/seafile-mc:13.0-latest
SEAFILE_DB_IMAGE=mariadb:10.11
SEAFILE_REDIS_IMAGE=redis:7-alpine
INIT_SEAFILE_MYSQL_ROOT_PASSWORD=change-this-seafile-root-password
SEAFILE_MYSQL_DB_USER=seafile
SEAFILE_MYSQL_DB_PASSWORD=change-this-seafile-db-password
SEAFILE_REDIS_PASSWORD=change-this-seafile-redis-password
SEAFILE_JWT_PRIVATE_KEY=change-this-seafile-jwt-private-key-at-least-32-chars
INIT_SEAFILE_ADMIN_EMAIL=admin@example.com
INIT_SEAFILE_ADMIN_PASSWORD=change-this-seafile-admin-password
SEAFILE_ENABLE_GO_FILESERVER=true
SEAFILE_ENABLE_SEADOC=false
SEAFILE_ENABLE_NOTIFICATION_SERVER=false
SEAFILE_ENABLE_AI=false
SEAFILE_ENABLE_FACE_RECOGNITION=false
SEAFILE_MD_FILE_COUNT_LIMIT=100000
SEAFILE_BASE_URL=https://files.example.com
SEAFILE_INTERNAL_URL=https://files.example.com
SEAFILE_ADMIN_EMAIL=admin@example.com
SEAFILE_ADMIN_PASSWORD=change-this-seafile-admin-password
M2M_API_KEY=change-this-m2m-key
API_BASE_URL=https://app.example.com/backend
@@ -272,11 +252,11 @@ NUXT_PUBLIC_MATRIX_ELEMENT_URL=https://app.example.com/element
Die `FEDEO_BOOTSTRAP_*`-Werte sind für den ersten Start gedacht. Wenn `FEDEO_BOOTSTRAP_ADMIN_EMAIL` und `FEDEO_BOOTSTRAP_ADMIN_PASSWORD` gesetzt sind, legt das Backend idempotent einen Admin-Benutzer, einen ersten Mandanten, eine Administrator-Rolle und grundlegende Stammdaten an. Nach erfolgreichem Erstzugriff solltest du das Bootstrap-Passwort aus der `.env` entfernen oder ändern.
## Docker Compose mit optionalem S3, Seafile und Matrix
## Docker Compose mit optionalem S3 und Matrix
Die Selfhost-Konfiguration wird im Betriebsverzeichnis als `docker-compose.yml` abgelegt. Sie startet MinIO standardmäßig mit. Wenn du stattdessen AWS S3, Hetzner Object Storage, Backblaze B2 S3 oder einen anderen externen S3-Dienst nutzen willst, kannst du die Services `minio` und `createbuckets` entfernen und nur die entsprechenden S3-Umgebungsvariablen auf den externen Anbieter zeigen lassen.
Der Stack enthält zusätzlich Seafile CE als vorbereitetes File-Backend. Seafile läuft unter `https://DOMAIN/files`, nutzt MariaDB und Redis intern und ist damit ohne zusätzliche Subdomain erreichbar. Die technischen Seafile-Pfade `/media`, `/seafhttp` und `/seafdav` bleiben auf derselben Domain und werden vom Reverse Proxy an Seafile geleitet. FEDEO nutzt aktuell weiter S3 als Standard; `FEDEO_FILE_BACKEND=s3` bleibt deshalb gesetzt, bis das Backend die Seafile-Integration vollständig unterstützt.
Seafile wird bewusst nicht im Standard-Compose-Stack gestartet. FEDEO kann später gegen einen extern betriebenen Seafile-Dienst sprechen; dafür bleiben `SEAFILE_BASE_URL`, `SEAFILE_INTERNAL_URL`, `SEAFILE_ADMIN_EMAIL` und `SEAFILE_ADMIN_PASSWORD` als generische Anbindungswerte vorgesehen. `FEDEO_FILE_BACKEND=s3` bleibt der Standard, bis die Backend-Integration für Seafile vollständig umgesetzt ist.
Der Matrix-Stack ist im Selfhost-Compose direkt enthalten. Er umfasst Synapse, eine eigene PostgreSQL-Datenbank für Synapse, Redis, `.well-known/matrix`, coturn, LiveKit, den LiveKit-JWT-Service und Element Web. Das einfache Selfhost-Setup nutzt nur `DOMAIN`: Synapse läuft unter `https://DOMAIN/_matrix`, Matrix-Well-Known unter `https://DOMAIN/.well-known/matrix`, LiveKit unter `https://DOMAIN/livekit/sfu`, der JWT-Service unter `https://DOMAIN/livekit/jwt` und Element Web unter `https://DOMAIN/element`.