docs(deploy): schlankes Compose-Beispiel im Wurzelverzeichnis
Das Compose in deploy/ war zu über der Hälfte Kommentar (73 von 137
Zeilen) und mischte zwei Zwecke. Jetzt getrennt:
Wurzel docker-compose.example.yml + .env.example – betreiben,
zieht das fertige Abbild, braucht keinen Quelltext
deploy/ docker-compose.yml + .env.example – entwickeln,
baut aus dem Quelltext, kennt alle Schalter
Die schlanke .env.example führt nur die Pflichtwerte und Office; die
vollständige Liste mit Erklärungen bleibt in deploy/.env.example.
Die kopierte /docker-compose.yml ist ignoriert – sie gehört in die
Umgebung, nicht ins Repo.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
62e80dd2f5
commit
13681958dd
5 files changed
+228
-105
No files matched your search
@@ -37,52 +37,73 @@ Der Proxy muss folgendes durchreichen (keine eigene Verarbeitung):
|
||||
- Go 1.25+ und Node 20+ **nur**, wenn du aus dem Quelltext bauen willst –
|
||||
zum Betreiben genügt das fertige Abbild (siehe Schritt 3)
|
||||
|
||||
### 1. Repository klonen
|
||||
Zwei Wege, je nachdem was du vorhast:
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| **Betreiben** | `docker-compose.example.yml` + `.env.example` im Wurzelverzeichnis. Zieht das fertige Abbild, braucht keinen Quelltext. |
|
||||
| **Entwickeln** | `deploy/docker-compose.yml` + `deploy/.env.example`. Baut aus dem Quelltext, kennt alle Schalter. |
|
||||
|
||||
### 1. Dateien holen
|
||||
|
||||
Zum Betreiben genügen zwei Dateien – kein Klonen nötig:
|
||||
|
||||
```bash
|
||||
mkdir aether && cd aether
|
||||
curl -O https://gitea.honeyy.duckdns.org/Docker/Aether/raw/branch/main/docker-compose.example.yml
|
||||
curl -O https://gitea.honeyy.duckdns.org/Docker/Aether/raw/branch/main/.env.example
|
||||
mv docker-compose.example.yml docker-compose.yml
|
||||
```
|
||||
|
||||
Zum Entwickeln stattdessen das Repository:
|
||||
|
||||
```bash
|
||||
git clone https://gitea.honeyy.duckdns.org/Docker/Aether.git aether
|
||||
cd aether
|
||||
```
|
||||
|
||||
Zum **Betreiben** braucht es das Repository nicht – dafür genügen
|
||||
`deploy/docker-compose.yml`, eine `.env` und ein Datenverzeichnis. Klonen ist
|
||||
nur nötig, wenn du am Quelltext arbeiten oder selbst bauen willst.
|
||||
|
||||
### 2. `.env` anlegen
|
||||
|
||||
```bash
|
||||
cp deploy/.env.example deploy/.env
|
||||
cp .env.example .env # beim Betreiben
|
||||
cp deploy/.env.example deploy/.env # beim Entwickeln
|
||||
```
|
||||
|
||||
Dann in `deploy/.env` ausfüllen:
|
||||
Ausfüllen musst du mindestens:
|
||||
|
||||
```env
|
||||
SESSION_SECRET=$(openssl rand -hex 32)
|
||||
DB_PASSWORD=<sicheres_passwort>
|
||||
PUBLIC_URL=https://cloud.example.com
|
||||
SESSION_SECRET= # openssl rand -hex 32
|
||||
DB_PASSWORD=
|
||||
DATA_PATH=/pfad/zu/aether-data
|
||||
APP_UID=1000 # id -u
|
||||
APP_GID=1000 # id -g
|
||||
TRUSTED_PROXIES=<IP-deines-Proxys>
|
||||
ADMIN_USERNAME=admin
|
||||
ADMIN_PASSWORD=<sicheres_admin_passwort>
|
||||
ADMIN_PASSWORD= # nach dem ersten Start wieder leeren
|
||||
```
|
||||
|
||||
Die schlanke `.env.example` im Wurzelverzeichnis führt nur diese Pflichtwerte
|
||||
und Office. Alles Weitere – OIDC, OCR, Vorschaubilder, Kontingente – steht mit
|
||||
Erklärung in `deploy/.env.example`.
|
||||
|
||||
### 3. Starten
|
||||
|
||||
```bash
|
||||
cd deploy
|
||||
docker login gitea.honeyy.duckdns.org # nur beim ersten Mal
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
Das Compose zieht ein **fertiges Abbild** aus der eigenen Registry
|
||||
(`gitea.honeyy.duckdns.org/docker/aether`). Für eine neue Umgebung reichen damit
|
||||
drei Dateien – `docker-compose.yml`, `.env` und das Datenverzeichnis. Backend
|
||||
und Frontend müssen dort nicht liegen und nicht gebaut werden.
|
||||
Beim ersten Start:
|
||||
- Postgres-Migrations laufen automatisch
|
||||
- Der erste Admin-Account wird aus `ADMIN_USERNAME` / `ADMIN_PASSWORD` angelegt
|
||||
- Nach dem Start: `ADMIN_PASSWORD` aus `.env` entfernen oder leer lassen
|
||||
|
||||
Wer aus dem Quelltext bauen will, kommentiert in `docker-compose.yml` `image:`
|
||||
aus und den `build:`-Block ein, dann:
|
||||
Aus dem Quelltext bauen statt ziehen:
|
||||
|
||||
```bash
|
||||
docker compose build app && docker compose up -d
|
||||
docker compose -f deploy/docker-compose.yml build app
|
||||
docker compose -f deploy/docker-compose.yml up -d
|
||||
```
|
||||
|
||||
Aktualisieren:
|
||||
@@ -91,11 +112,6 @@ Aktualisieren:
|
||||
docker compose pull app && docker compose up -d app
|
||||
```
|
||||
|
||||
Beim ersten Start:
|
||||
- Postgres-Migrations laufen automatisch
|
||||
- Der erste Admin-Account wird aus `ADMIN_USERNAME` / `ADMIN_PASSWORD` angelegt
|
||||
- Nach dem Start: `ADMIN_PASSWORD` aus `.env` entfernen oder leer lassen
|
||||
|
||||
### 4. Öffnen
|
||||
|
||||
Die App ist über deinen Reverse Proxy erreichbar (z. B. `https://cloud.example.com`).
|
||||
|
||||
Reference in new issue
Block a user