Reorganised deployment scripts and added rollback functionality. Updated documentation and workflow for container image builds.
This commit is contained in:
@@ -3,14 +3,20 @@
|
||||
Diese OpenTofu-Konfiguration erstellt einen einzelnen Ubuntu-24.04-Server mit
|
||||
fester IPv4-Adresse, vorgeschalteter Hetzner-Firewall und einem persistenten
|
||||
ext4-Volume für die Routingdaten von Deutschland und den Niederlanden.
|
||||
Kartenkacheln, DNS-Einträge und Anwendungsdeployment sind bewusst nicht Teil
|
||||
dieses Infrastrukturmoduls.
|
||||
Kartenkacheln, DNS-Einträge und konkrete Anwendungsversionen sind bewusst nicht
|
||||
Teil dieses Infrastrukturmoduls. Die Anwendung wird anschließend als
|
||||
commitgenaues Container-Image aus der Gitea Registry deployt.
|
||||
|
||||
## Konfiguration
|
||||
|
||||
Die lokale Datei `terraform.tfvars` ist bereits angelegt und wird durch die
|
||||
lokale `.gitignore` ausgeschlossen. Vor dem ersten Plan müssen dort mindestens
|
||||
folgende Werte ersetzt werden:
|
||||
Die lokale Datei `terraform.tfvars` wird aus der versionierten Vorlage angelegt
|
||||
und durch die lokale `.gitignore` ausgeschlossen:
|
||||
|
||||
```sh
|
||||
cp terraform.tfvars.example terraform.tfvars
|
||||
```
|
||||
|
||||
Vor dem ersten Plan müssen dort mindestens folgende Werte ersetzt werden:
|
||||
|
||||
- `hcloud_token`: Read/Write-API-Token des richtigen Hetzner-Cloud-Projekts
|
||||
- `ssh_public_key`: vollständiger Inhalt des öffentlichen SSH-Schlüssels
|
||||
@@ -58,7 +64,8 @@ bereitstehen.
|
||||
## Auf dem Server
|
||||
|
||||
Cloud-init installiert Docker einschließlich Compose v2, `curl`, `jq` und
|
||||
`rsync`. Der Benutzer `deploy` erhält Zugriff per SSH und auf Docker. Das
|
||||
`rsync`. Der Benutzer `deploy` erhält Zugriff per SSH und auf Docker. Es wird
|
||||
kein Git-Repository auf den Server geklont. Das
|
||||
persistente Volume wird nach dem Anhängen unter `/srv/watermaps-data` gemountet
|
||||
und enthält die vom Produktions-Stack verwendeten Verzeichnisse `geofabrik`,
|
||||
`local` und `certbot`. Ein systemd-Drop-in lässt Docker bei jedem Start auf den
|
||||
|
||||
Reference in New Issue
Block a user