1 Setup
vr6syncro edited this page 2026-07-07 06:32:43 +02:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Setup

Voraussetzungen

  • Proxmox VE 8.0 oder neuer (amd64)
  • Internet-Zugang auf dem PVE-Host
  • ~16 GB frei auf einem rootdir-faehigen Storage
  • Eine Linux-Bridge (Default vmbr0)

Installation (Quickstart)

Auf dem Proxmox-VE-Host als root ausfuehren:

bash -c "$(curl -fsSL https://forgejo.diefamiliekramer.de/vr6syncro/teddytafforge-proxmox/raw/branch/main/ct/teddytafforge.sh)"

Eine Reihe von whiptail-Dialogen fuehrt durch die Auswahl (Scope, Ressourcen, Netzwerk). Am Ende wird die URL der neuen Instanz ausgegeben und in der LXC-Beschreibung in der Proxmox-UI hinterlegt.

Vorsichtige Alternative (Skript vorher pruefen):

curl -fsSL <url> -o /tmp/teddytafforge.sh && less /tmp/teddytafforge.sh && bash /tmp/teddytafforge.sh

Scope-Auswahl

Scope Wann
sidecar TeddyCloud laeuft bereits woanders (anderer LXC, VM, NAS)
all-in-one Frischer Start, beide Dienste auf einer Maschine

Im Sidecar-Modus werden die URL der bestehenden TeddyCloud und optional der Host-Pfad des TC-Datenverzeichnisses abgefragt (fuer den Bind-Mount des Plugins).

Defaults

Option sidecar all-in-one Override
OS Debian 13 Debian 13 nicht konfigurierbar
CPU 2 Kerne 2 Kerne whiptail / var_cpu
RAM 2048 MB 3072 MB whiptail / var_ram
Disk 8 GB 16 GB whiptail / var_disk
Unprivilegiert ja ja fest
Features nesting=1,keyctl=1 nesting=1,keyctl=1 fest
Netzwerk DHCP / vmbr0 DHCP / vmbr0 whiptail
TafForge-Port 3000 3000 /etc/tafforge/tafforge.env
TeddyCloud-Ports 80 / 443 / 8443 nicht konfigurierbar

Power-User-ENV-Overrides

Vor dem Curl-Aufruf setzen:

TAFFORGE_SCOPE=all-in-one \
TAFFORGE_REF_DEFAULT=v0.2.2 \
TC_REF_DEFAULT=v0.6.2 \
CTID=200 RAM_SIZE=4096 DISK_SIZE=24 \
  bash -c "$(curl -fsSL …/ct/teddytafforge.sh)"

Nach der Installation

  • UI oeffnen: http://<lxc-ip>:3000/
  • Service-Steuerung (im LXC nach pct enter <CTID>): systemctl status tafforge, journalctl -u tafforge -f (all-in-one zusaetzlich teddycloud)
  • Runtime-Config: /etc/tafforge/tafforge.env (nach Aenderung systemctl restart tafforge)
  • Wrapper-Marker: /etc/tafforge/proxmox.meta (installierte Versionen)

Update

Der autoritative Updater liegt im LXC und stammt vom TafForge-Projekt selbst.

Empfohlen (im LXC):

pct enter <CTID>
/opt/tafforge/app/install/lxc/update-app.sh

Convenience (vom PVE-Host):

bash -c "$(curl -fsSL https://forgejo.diefamiliekramer.de/vr6syncro/teddytafforge-proxmox/raw/branch/main/ct/update.sh)"

Es gibt bewusst keinen automatischen Update-Timer.

Entwicklung / CI

Vor einer Skript-Aenderung lokal shellcheck laufen lassen:

shellcheck -x ct/*.sh install/*.sh misc/*.func

Forgejo-CI

  • shellcheck.ymlbash -n Syntax-Check, shellcheck -x -e SC1090,SC1091, bashate -i E006, plus URL-Liveness-Check der geladenen Endpunkte.
  • syntax-validate.yml — Dry-Run des Host-Skripts mit gestubbten PVE-Binaries (pveversion, pveam, pvesh, pvesm, pct, whiptail) und DRY_RUN=1.

Lokaler Dry-Test (volle Matrix)

bash scripts/dry-test/matrix.sh

Mockt alle PVE-Binaries + whiptail (FD-korrekt, title-aware), faehrt start() → build_container() → description() unter DRY_RUN=1 fuer alle vier {scope × settings}-Kombinationen und meldet PASS/FAIL. Per-Run-Logs in /tmp/teddytafforge-dry-test-runN.log.

Vendored Installer aktualisieren

Aus einem lokalen TafForge-Checkout:

cp -R /path/to/TeddyTafForge/install/lib/* vendor/tafforge-install/lib/
cp -R /path/to/TeddyTafForge/install/lxc/* vendor/tafforge-install/lxc/
git add vendor/tafforge-install
git commit -m "chore(vendor): refresh tafforge install/ from upstream <sha>"

Quelle: README.md, ct/*.sh, .forgejo/workflows/*.yml, vendor/README.md.