Update-Skript fuer Linux/macOS und Windows
update.sh bzw. update.ps1 holen den neuen Stand und bauen den Stack neu: - Bricht ab, wenn git, docker compose oder die .env fehlen. - Bricht ab, wenn es lokale Aenderungen gibt — ein "git pull" wuerde dort im Konflikt enden. - Holt den Stand mit "git merge --ff-only" und zeigt die neuen Commits. - Baut nur neu, wenn es tatsaechlich Aenderungen gab (--force erzwingt es). - Wartet, bis die Anwendung auf APP_PORT antwortet, und gibt bei Zeitablauf das Container-Protokoll aus, statt stillschweigend Erfolg zu melden. - Zeigt zum Schluss die Migrationszeilen aus dem Start und den Status. - --prune raeumt auf Wunsch verwaiste Images auf, die bei jedem Neubau zurueckbleiben. README um einen Abschnitt "Aktualisieren" ergaenzt.
This commit is contained in:
@@ -12,6 +12,7 @@ vorbereitet.
|
||||
## Inhalt
|
||||
|
||||
- [Schnellstart](#schnellstart)
|
||||
- [Aktualisieren](#aktualisieren)
|
||||
- [Konfiguration](#konfiguration)
|
||||
- [Bedienung](#bedienung)
|
||||
- [Technischer Aufbau](#technischer-aufbau)
|
||||
@@ -45,6 +46,53 @@ docker compose down -v # Stack stoppen und Datenbank löschen
|
||||
|
||||
---
|
||||
|
||||
## Aktualisieren
|
||||
|
||||
Für neue Versionen liegt ein Update-Skript bei — einmal für Linux/macOS und
|
||||
einmal für Windows. Es holt den aktuellen Stand aus Git, baut den Stack neu
|
||||
und wartet, bis die Anwendung wieder antwortet.
|
||||
|
||||
```bash
|
||||
./update.sh # Linux / macOS
|
||||
```
|
||||
|
||||
```powershell
|
||||
.\update.ps1 # Windows
|
||||
```
|
||||
|
||||
Beim ersten Aufruf unter Linux muss das Skript einmal ausführbar gemacht
|
||||
werden: `chmod +x update.sh`.
|
||||
|
||||
Was das Skript tut:
|
||||
|
||||
1. prüft, ob `git`, `docker compose` und die `.env` vorhanden sind,
|
||||
2. bricht ab, wenn es **lokale Änderungen** gibt — sonst würde `git pull` im
|
||||
Konflikt enden,
|
||||
3. holt den neuen Stand mit `git merge --ff-only` und zeigt die neuen Commits,
|
||||
4. baut den Stack nur neu, wenn es tatsächlich Änderungen gab,
|
||||
5. wartet, bis die Anwendung auf `APP_PORT` antwortet, und zeigt sonst das
|
||||
Protokoll,
|
||||
6. gibt die Migrationszeilen aus dem Start-Protokoll und den Containerstatus
|
||||
aus.
|
||||
|
||||
Optionen:
|
||||
|
||||
| Option | Wirkung |
|
||||
| ------------------- | -------------------------------------------------------------- |
|
||||
| `--force` / `-Force` | Auch ohne neue Commits neu bauen |
|
||||
| `--prune` / `-Prune` | Danach verwaiste Docker-Images entfernen (`docker image prune`) |
|
||||
| `--help` | Hilfe anzeigen |
|
||||
|
||||
Die Datenbank bleibt beim Update erhalten — neue Migrationen wendet der
|
||||
App-Container beim Start automatisch an. Wer lieber von Hand aktualisiert:
|
||||
|
||||
```bash
|
||||
git pull
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Konfiguration
|
||||
|
||||
Alle Einstellungen stehen in der `.env` im Projektverzeichnis (Vorlage:
|
||||
@@ -171,6 +219,7 @@ prisma/
|
||||
migrations/ Versionierte Migrationen
|
||||
docker/
|
||||
entrypoint.sh Migration + Serverstart im Container
|
||||
update.sh / update.ps1 Update-Skript (git pull + Neubau + Prüfung)
|
||||
src/
|
||||
app/
|
||||
page.tsx Startseite mit dem Kachel-Grid
|
||||
|
||||
Reference in New Issue
Block a user