Benutzen
Installieren
Container oder VM anlegen – mit Dialog, ohne Dialog, mit Docker.
Container oder VM?
LXC-Container (ct.sh) | VM (vm.sh) | |
|---|---|---|
| Grundlage | Debian-13-Template von Proxmox | fertiges, getestetes Image der App |
| Installation | läuft beim Anlegen im Container | ist schon im Image, beim ersten Start nur noch die Instanz-Einstellungen |
| Ressourcen | sparsam | eigener Kernel, mehr RAM |
| Wofür | die meisten Dienste | Kernel-Funktionen, Docker im Gast, Desktop |
Beide Wege führen zum selben Ergebnis: gleiche Pakete, gleiche Konfiguration, gleiches
update. Welche Plattformen eine App anbietet, steht auf ihrer Seite.
Mit Dialog
Auf dem Proxmox-Host als root:
bash -c "$(curl -fsSL https://iac.heyer.systems/<app>/ct.sh)" # Container
bash -c "$(curl -fsSL https://iac.heyer.systems/<app>/vm.sh)" # VM
default übernimmt die Standardwerte der App, advanced fragt alles einzeln ab – auch
Module und die Herkunft der SSH-Keys (Datei, URL wie https://git.example/<user>.keys, einfügen).
Ohne Dialog
Mit IAC_NONINTERACTIVE=1 gelten die Standardwerte plus alles, was du als var_* mitgibst:
IAC_NONINTERACTIVE=1 var_net=192.168.40.20/24 var_gateway=192.168.40.1 \
var_modules=node-exporter,unattended-upgrades \
bash -c "$(curl -fsSL https://iac.heyer.systems/traefik/ct.sh)"
Den passenden Befehl baut der Generator auf jeder App-Seite.
| Variable | Bedeutung | Standard |
|---|---|---|
var_id | ID des Gasts | nächste freie |
var_hostname | Hostname | Name der App |
var_cpu, var_ram, var_disk | CPU-Kerne, RAM in MiB, Disk in GiB | Werte der App |
var_storage | Proxmox-Storage für die Disk | erster passender |
var_template_storage | Storage des Debian-Templates (nur LXC) | erster passender |
var_bridge, var_vlan | Netzwerk-Bridge und VLAN-Tag | vmbr0, keins |
var_net, var_gateway | dhcp oder 192.168.40.20/24 mit Gateway | dhcp |
var_nameserver, var_searchdomain | DNS-Server und Suchdomain | wie der Host |
var_modules | Module, kommagetrennt ('' = keine) | Vorauswahl der App |
var_ssh_keys | Datei, URL oder Key-Zeile | /root/.ssh/authorized_keys des Hosts |
var_image_version | bestimmte Image-Version (nur VM) | neueste |
var_start | nach dem Anlegen starten (1/0) | 1 |
var_<einstellung> | Einstellungen der App, z. B. var_db_host (bisher nur LXC) | – |
VM-Images
Jedes VM-Image wird automatisch gebaut, in einer Test-VM gestartet und geprüft und erst dann
veröffentlicht – bei jeder Änderung der App und jeden Montag mit den neuesten Debian-Paketen.
vm.sh lädt es mit SHA256-Prüfsumme und prüft sie vor dem Import. Die Disk wächst beim
Anlegen auf die gewählte Größe.
Ein Image lässt sich auch von Hand laden: https://iac.heyer.systems/<app>/image/latest und
…/image/SHA256SUMS.
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
Ports und Einstellungen gehören in eine .env daneben (z. B. PORT_80=8081). Module und
update gibt es nur in LXC und VM.
Einen Branch testen
IAC_APP_REF=<branch> IAC_CORE_REF=<branch> bash -c "$(curl -fsSL https://iac.heyer.systems/<app>/ct.sh)"
IAC_APP_REF wählt den Stand der App, IAC_CORE_REF den von iac-core.