KI-AGENT: Seafile Nebenpfade auf Hauptdomain routen

This commit is contained in:
2026-05-22 17:30:24 +02:00
parent 0d0dc33e84
commit 5400fd7ad5
2 changed files with 12 additions and 3 deletions

View File

@@ -135,7 +135,7 @@ 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`.
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.
Alternativ kannst du die Konfiguration geführt erzeugen lassen:
@@ -276,7 +276,7 @@ Die `FEDEO_BOOTSTRAP_*`-Werte sind für den ersten Start gedacht. Wenn `FEDEO_BO
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. FEDEO nutzt aktuell weiter S3 als Standard; `FEDEO_FILE_BACKEND=s3` bleibt deshalb gesetzt, bis das Backend die Seafile-Integration vollständig unterstützt.
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.
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`.

View File

@@ -166,10 +166,19 @@ services:
start_period: 30s
labels:
- traefik.enable=true
- traefik.http.routers.fedeo-seafile.rule=Host(`${DOMAIN}`) && PathPrefix(`/files`)
- "traefik.http.middlewares.fedeo-seafile-accounts.redirectregex.regex=^https?://([^/]+)/accounts/(.*)"
- "traefik.http.middlewares.fedeo-seafile-accounts.redirectregex.replacement=https://$${1}/files/accounts/$${2}"
- traefik.http.middlewares.fedeo-seafile-accounts.redirectregex.permanent=false
- "traefik.http.routers.fedeo-seafile.rule=Host(`${DOMAIN}`) && (PathPrefix(`/files`) || PathPrefix(`/media`) || PathPrefix(`/seafhttp`) || PathPrefix(`/seafdav`))"
- traefik.http.routers.fedeo-seafile.entrypoints=websecure
- traefik.http.routers.fedeo-seafile.tls.certresolver=letsencrypt
- traefik.http.routers.fedeo-seafile.priority=100
- traefik.http.routers.fedeo-seafile-accounts.rule=Host(`${DOMAIN}`) && PathPrefix(`/accounts`)
- traefik.http.routers.fedeo-seafile-accounts.entrypoints=websecure
- traefik.http.routers.fedeo-seafile-accounts.tls.certresolver=letsencrypt
- traefik.http.routers.fedeo-seafile-accounts.middlewares=fedeo-seafile-accounts
- traefik.http.routers.fedeo-seafile-accounts.priority=110
- traefik.http.routers.fedeo-seafile-accounts.service=noop@internal
- traefik.http.services.fedeo-seafile.loadbalancer.server.port=80
- traefik.docker.network=fedeo_web
networks: