KI-AGENT: Lege Selfhost Compose als Standarddatei ab
All checks were successful
Build and Push Docker Images / build-backend (push) Successful in 11s
Build and Push Docker Images / build-frontend (push) Successful in 11s
Build and Push Docker Images / build-website (push) Successful in 10s
Build and Push Docker Images / build-docs (push) Successful in 10s
All checks were successful
Build and Push Docker Images / build-backend (push) Successful in 11s
Build and Push Docker Images / build-frontend (push) Successful in 11s
Build and Push Docker Images / build-website (push) Successful in 10s
Build and Push Docker Images / build-docs (push) Successful in 10s
This commit is contained in:
20
README.md
20
README.md
@@ -95,7 +95,7 @@ Beispiel für die manuelle Vorbereitung:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -p /opt/fedeo/scripts
|
mkdir -p /opt/fedeo/scripts
|
||||||
curl -fsSL https://git.federspiel.tech/flfeders/FEDEO/raw/branch/dev/docker-compose.selfhost.yml -o /opt/fedeo/docker-compose.selfhost.yml
|
curl -fsSL https://git.federspiel.tech/flfeders/FEDEO/raw/branch/dev/docker-compose.selfhost.yml -o /opt/fedeo/docker-compose.yml
|
||||||
curl -fsSL https://git.federspiel.tech/flfeders/FEDEO/raw/branch/dev/.env.example -o /opt/fedeo/.env.example
|
curl -fsSL https://git.federspiel.tech/flfeders/FEDEO/raw/branch/dev/.env.example -o /opt/fedeo/.env.example
|
||||||
curl -fsSL https://git.federspiel.tech/flfeders/FEDEO/raw/branch/dev/scripts/selfhost-setup.sh -o /opt/fedeo/scripts/selfhost-setup.sh
|
curl -fsSL https://git.federspiel.tech/flfeders/FEDEO/raw/branch/dev/scripts/selfhost-setup.sh -o /opt/fedeo/scripts/selfhost-setup.sh
|
||||||
chmod +x /opt/fedeo/scripts/selfhost-setup.sh
|
chmod +x /opt/fedeo/scripts/selfhost-setup.sh
|
||||||
@@ -105,7 +105,7 @@ Die Verzeichnisstruktur sollte dann mindestens so aussehen:
|
|||||||
|
|
||||||
```text
|
```text
|
||||||
/opt/fedeo/
|
/opt/fedeo/
|
||||||
docker-compose.selfhost.yml
|
docker-compose.yml
|
||||||
.env
|
.env
|
||||||
scripts/
|
scripts/
|
||||||
traefik/
|
traefik/
|
||||||
@@ -248,7 +248,7 @@ Die `FEDEO_BOOTSTRAP_*`-Werte sind für den ersten Start gedacht. Wenn `FEDEO_BO
|
|||||||
|
|
||||||
## Docker Compose mit optionalem S3 und Matrix
|
## Docker Compose mit optionalem S3 und Matrix
|
||||||
|
|
||||||
Die Selfhost-Konfiguration liegt in `docker-compose.selfhost.yml`. 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.
|
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 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`.
|
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`.
|
||||||
|
|
||||||
@@ -446,7 +446,7 @@ Hinweis: Das Backend nutzt `forcePathStyle: true`. Das funktioniert sauber mit M
|
|||||||
Im Deploy-Verzeichnis:
|
Im Deploy-Verzeichnis:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker compose --env-file /opt/fedeo/.env -f /opt/fedeo/docker-compose.selfhost.yml up -d
|
docker compose --env-file /opt/fedeo/.env -f /opt/fedeo/docker-compose.yml up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
Synapse erzeugt `matrix/synapse/homeserver.yaml` beim ersten Start automatisch und aktualisiert die für FEDEO relevanten Werte aus der `.env`. `MATRIX_REGISTRATION_SHARED_SECRET` muss in der `.env` gesetzt und geheim bleiben, weil FEDEO damit Matrix-Nutzer provisioniert.
|
Synapse erzeugt `matrix/synapse/homeserver.yaml` beim ersten Start automatisch und aktualisiert die für FEDEO relevanten Werte aus der `.env`. `MATRIX_REGISTRATION_SHARED_SECRET` muss in der `.env` gesetzt und geheim bleiben, weil FEDEO damit Matrix-Nutzer provisioniert.
|
||||||
@@ -454,15 +454,15 @@ Synapse erzeugt `matrix/synapse/homeserver.yaml` beim ersten Start automatisch u
|
|||||||
Danach Status prufen:
|
Danach Status prufen:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker compose --env-file /opt/fedeo/.env -f /opt/fedeo/docker-compose.selfhost.yml ps
|
docker compose --env-file /opt/fedeo/.env -f /opt/fedeo/docker-compose.yml ps
|
||||||
docker compose --env-file /opt/fedeo/.env -f /opt/fedeo/docker-compose.selfhost.yml logs -f traefik
|
docker compose --env-file /opt/fedeo/.env -f /opt/fedeo/docker-compose.yml logs -f traefik
|
||||||
docker compose --env-file /opt/fedeo/.env -f /opt/fedeo/docker-compose.selfhost.yml logs -f backend
|
docker compose --env-file /opt/fedeo/.env -f /opt/fedeo/docker-compose.yml logs -f backend
|
||||||
```
|
```
|
||||||
|
|
||||||
Wenn du Migrationen manuell ausführen möchtest:
|
Wenn du Migrationen manuell ausführen möchtest:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker compose --env-file /opt/fedeo/.env -f /opt/fedeo/docker-compose.selfhost.yml run --rm backend npm run migrate
|
docker compose --env-file /opt/fedeo/.env -f /opt/fedeo/docker-compose.yml run --rm backend npm run migrate
|
||||||
```
|
```
|
||||||
|
|
||||||
## Funktionsprufung
|
## Funktionsprufung
|
||||||
@@ -486,11 +486,11 @@ Wenn der Bootstrap aktiviert ist, kannst du dich danach mit `FEDEO_BOOTSTRAP_ADM
|
|||||||
Bei neuen Versionen:
|
Bei neuen Versionen:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://git.federspiel.tech/flfeders/FEDEO/raw/branch/dev/docker-compose.selfhost.yml -o /opt/fedeo/docker-compose.selfhost.yml
|
curl -fsSL https://git.federspiel.tech/flfeders/FEDEO/raw/branch/dev/docker-compose.selfhost.yml -o /opt/fedeo/docker-compose.yml
|
||||||
curl -fsSL https://git.federspiel.tech/flfeders/FEDEO/raw/branch/dev/.env.example -o /opt/fedeo/.env.example
|
curl -fsSL https://git.federspiel.tech/flfeders/FEDEO/raw/branch/dev/.env.example -o /opt/fedeo/.env.example
|
||||||
curl -fsSL https://git.federspiel.tech/flfeders/FEDEO/raw/branch/dev/scripts/selfhost-setup.sh -o /opt/fedeo/scripts/selfhost-setup.sh
|
curl -fsSL https://git.federspiel.tech/flfeders/FEDEO/raw/branch/dev/scripts/selfhost-setup.sh -o /opt/fedeo/scripts/selfhost-setup.sh
|
||||||
chmod +x /opt/fedeo/scripts/selfhost-setup.sh
|
chmod +x /opt/fedeo/scripts/selfhost-setup.sh
|
||||||
docker compose --env-file /opt/fedeo/.env -f /opt/fedeo/docker-compose.selfhost.yml up -d
|
docker compose --env-file /opt/fedeo/.env -f /opt/fedeo/docker-compose.yml up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
Der Backend-Container wendet Datenbankmigrationen beim Start automatisch an. Bei kritischen Updates sollte vorher ein Backup von `./postgres` und `./minio` erstellt werden.
|
Der Backend-Container wendet Datenbankmigrationen beim Start automatisch an. Bei kritischen Updates sollte vorher ein Backup von `./postgres` und `./minio` erstellt werden.
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ download_selfhost_files() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Lade Selfhost-Dateien..."
|
echo "Lade Selfhost-Dateien..."
|
||||||
download_file "$FEDEO_RAW_BASE_URL/docker-compose.selfhost.yml" "$FEDEO_DIR/docker-compose.selfhost.yml"
|
download_file "$FEDEO_RAW_BASE_URL/docker-compose.selfhost.yml" "$FEDEO_DIR/docker-compose.yml"
|
||||||
download_file "$FEDEO_RAW_BASE_URL/.env.example" "$FEDEO_DIR/.env.example"
|
download_file "$FEDEO_RAW_BASE_URL/.env.example" "$FEDEO_DIR/.env.example"
|
||||||
download_file "$FEDEO_RAW_BASE_URL/scripts/selfhost-setup.sh" "$FEDEO_DIR/scripts/selfhost-setup.sh"
|
download_file "$FEDEO_RAW_BASE_URL/scripts/selfhost-setup.sh" "$FEDEO_DIR/scripts/selfhost-setup.sh"
|
||||||
chmod +x "$FEDEO_DIR/scripts/selfhost-setup.sh"
|
chmod +x "$FEDEO_DIR/scripts/selfhost-setup.sh"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ set -euo pipefail
|
|||||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||||
ENV_FILE="$ROOT_DIR/.env"
|
ENV_FILE="$ROOT_DIR/.env"
|
||||||
ENV_EXAMPLE="$ROOT_DIR/.env.example"
|
ENV_EXAMPLE="$ROOT_DIR/.env.example"
|
||||||
COMPOSE_FILE="$ROOT_DIR/docker-compose.selfhost.yml"
|
COMPOSE_FILE="${FEDEO_COMPOSE_FILE:-$ROOT_DIR/docker-compose.yml}"
|
||||||
|
|
||||||
MODE=""
|
MODE=""
|
||||||
START_STACK="ask"
|
START_STACK="ask"
|
||||||
@@ -219,7 +219,7 @@ FEDEO Selfhost Setup
|
|||||||
Dieses Script führt dich durch die lokale Betriebsstruktur:
|
Dieses Script führt dich durch die lokale Betriebsstruktur:
|
||||||
|
|
||||||
$ROOT_DIR/
|
$ROOT_DIR/
|
||||||
docker-compose.selfhost.yml Docker Stack für FEDEO, Traefik, PostgreSQL, MinIO, Matrix und Monitoring
|
docker-compose.yml Docker Stack für FEDEO, Traefik, PostgreSQL, MinIO, Matrix und Monitoring
|
||||||
.env Zielkonfiguration, wird von diesem Script geschrieben
|
.env Zielkonfiguration, wird von diesem Script geschrieben
|
||||||
postgres/ persistente FEDEO-Datenbank
|
postgres/ persistente FEDEO-Datenbank
|
||||||
minio/ lokaler S3-kompatibler Dateispeicher
|
minio/ lokaler S3-kompatibler Dateispeicher
|
||||||
|
|||||||
Reference in New Issue
Block a user