feat: update.sh für den Betrieb unter Linux
Erst sichern, dann anfassen: schlägt die Sicherung fehl, bricht das Skript ab statt weiterzumachen. Geht danach etwas schief, nennt es den konkreten Weg zurück — mit dem Commit, zu dem man zurückspringt, und der Datei, die man einspielt, nicht bloß dem Rat, ein Backup zu haben. Lokale Änderungen im Arbeitsverzeichnis werden erkannt und nicht überfahren. Die Erreichbarkeit wird über den veröffentlichten Port geprüft und, falls der nicht nach außen geht, über den Healthcheck des Containers. Das Ausführbar-Bit steckt im Repository — nach dem Klonen ist es startklar.
This commit is contained in:
@@ -114,14 +114,31 @@ flimmer.example.com {
|
||||
|
||||
```bash
|
||||
cd flimmer
|
||||
git pull
|
||||
docker compose build
|
||||
docker compose up -d
|
||||
./update.sh
|
||||
```
|
||||
|
||||
Datenbankmigrationen laufen automatisch beim Start des Containers — ein eigener
|
||||
Handgriff ist nicht nötig. **Vor** einem Update ein Backup zu ziehen ist
|
||||
trotzdem eine gute Angewohnheit.
|
||||
Das Skript sichert zuerst die Datenbank, holt die Änderungen, baut das Image neu
|
||||
und wartet, bis die Instanz wieder antwortet. Schlägt etwas fehl, nennt es den
|
||||
konkreten Weg zurück — mit dem Befehl und der Sicherungsdatei, nicht bloß dem
|
||||
Rat, ein Backup zu haben.
|
||||
|
||||
```
|
||||
./update.sh --ohne-backup ohne Datenbanksicherung
|
||||
./update.sh --ohne-pull nur neu bauen und starten
|
||||
./update.sh --behalte 20 wie viele Sicherungen aufgehoben werden (Standard: 10)
|
||||
./update.sh --hilfe
|
||||
```
|
||||
|
||||
Die Sicherungen landen unter `backups/` und sind gzip-komprimierte `pg_dump`s.
|
||||
|
||||
Von Hand geht es genauso:
|
||||
|
||||
```bash
|
||||
git pull && docker compose build && docker compose up -d
|
||||
```
|
||||
|
||||
Datenbankmigrationen laufen in beiden Fällen automatisch beim Start des
|
||||
Containers — ein eigener Handgriff ist nicht nötig.
|
||||
|
||||
## Backup
|
||||
|
||||
|
||||
Reference in New Issue
Block a user