So funktioniert's
Installation, Update und Übernahme bestehender Systeme
1. Installieren
Auf der Proxmox-Node als root den Einzeiler der App ausführen – für einen Container ct.sh,
für eine VM vm.sh. Ein Dialog (auf Englisch) fragt nach Standardwerten oder eigenen Einstellungen.
Ohne Dialog, z. B. für Automatisierung – den passenden Befehl baut der Generator auf jeder App-Seite:
IAC_NONINTERACTIVE=1 var_net=192.168.40.20/24 var_gateway=192.168.40.1 \
bash -c "$(curl -fsSL https://iac.heyer.systems/traefik/ct.sh)"
Weitere Variablen: var_id, var_hostname, var_cpu, var_ram, var_disk, var_bridge,
var_vlan, var_storage, var_nameserver, var_searchdomain, var_modules, var_ssh_keys.
Docker
Apps mit Docker-Variante bringen eine einfache docker-compose.yml mit:
mkdir -p /opt/traefik && cd /opt/traefik
curl -fsSL https://iac.heyer.systems/traefik/docker-compose.yml -o docker-compose.yml
docker compose up -d
Host-Ports lassen sich in einer .env daneben ändern (PORT_80=8081). Aktualisieren:
docker compose pull && docker compose up -d – die Major-Version bleibt dabei gleich.
2. Aktualisieren
Im Gast:
update
Das aktualisiert die Debian-Pakete, die App (innerhalb ihrer Major-Version) und die
iac-Konfiguration. Ein Wechsel auf die nächste Debian-Version geht kontrolliert mit
update --release-upgrade.
3. Module
Manche Apps bieten optionale Module an, z. B. node-exporter (Prometheus-Metriken) oder
unattended-upgrades (automatische Sicherheitsupdates). Auswählen beim Anlegen per
var_modules=a,b, im Dialog oder im Generator – und später im Gast:
update --modules node-exporter,unattended-upgrades # Auswahl ersetzen
update --modules '' # keine Module
Abgewählte Module werden wieder entfernt (Pakete, Firewall-Regeln, Konfiguration).
4. Bestehende Systeme übernehmen
Viele Apps haben ein adopt.sh, das eine vorhandene Installation „gerade zieht“: prüfen,
sichern, ins Standard-Layout überführen. Geht das nicht automatisch, bricht es vor jeder Änderung
ab und verweist auf die Migrationsanleitung der App.
Was jeder Gast mitbringt
- Zugang nur per SSH-Key –
rootundheyeradminhaben kein Passwort - Firewall (nftables): eingehend nur SSH und die Ports der App
- etckeeper: jede Änderung an
/etcist nachvollziehbar - Dateien mit
# managed by iacgehören iac und werden beiupdateüberschrieben – eigene Anpassungen gehören in die jeweiligenlocal-Dateien
Integrität
VM-Images werden wöchentlich neu gebaut, vor der Veröffentlichung in einer Test-VM gestartet und geprüft, und mit SHA256-Prüfsumme ausgeliefert. Die Einzeiler prüfen sie vor dem Import.