XED /CCC cBUZZ Container Control · Bash-Bootstrap und Werkzeuge für nested LXC-Stacks

Stufe 1: firstboot.sh live MIT GitHub

Schnellstart

In jeder frischen Debian/Ubuntu-LXC-Box als root:

# Pre-Step (minimal-LXC-Templates haben kein curl vorinstalliert):
apt update && apt install -y curl ca-certificates

# firstboot.sh ausführen:
bash <(curl -s https://ccc.xed.dev/firstboot.sh)

Oder als One-Liner:

apt-get update -qq && apt-get install -y -qq --no-install-recommends curl ca-certificates && bash <(curl -s https://ccc.xed.dev/firstboot.sh)

Setzt Zeitzone, Locales, Default-Editor und Basis-Pakete per Whiptail-TUI im Debian-Installer-Stil. Idempotent — beliebig oft wiederholbar.

Non-Interactive (CI / Auto-Provisioning)

TZ=UTC \
  LOCALES="de_AT.UTF-8 en_US.UTF-8" \
  DEFAULT_LOCALE=de_AT.UTF-8 \
  PKGS="htop curl wget sudo psmisc net-tools iproute2 iputils-ping gnupg nano" \
  bash <(curl -s https://ccc.xed.dev/firstboot.sh)

TTY-Hinweis

bash <(curl -s URL) (Process Substitution) bewahrt das TTY und erlaubt interaktive Whiptail-Dialoge. curl URL | bash (klassische Pipe) verbraucht stdin und erzwingt Non-Interactive-Mode mit ENV-Defaults.

Was firstboot.sh tut

PhaseInhalt
0Pre-Flight (root-Check, Distro-Check, apt-Bootstrap, TTY-Detect)
1Eingaben sammeln (Whiptail bei TTY, ENV-Vars sonst)
2Zeitzone setzen (/etc/timezone + /etc/localtime)
3Locales generieren + Default-Locale (update-locale/etc/default/locale)
4Basis-Pakete installieren (--no-install-recommends)
5EDITOR=nano in /etc/environment (idempotent via grep-vor-write)
6Abschluss-Banner

Bewusst nicht enthalten: Bridge-/iptables-/nested-LXC-Setup. Das kommt mit lxc-host-setup.sh (Skript 2/3, geplant) als separates Skript für cBUZZ-Outer-Container.

Roadmap

SkriptZweckStatus
firstboot.shBasis-Setup für jede frische Debian/Ubuntu-BoxStufe 1, live
lxc-host-setup.shOuter-Container vorbereiten (Bridge, iptables, nested LXC)geplant
ccc-create.shInner-Container provisionieren (Bash v1)geplant
ccc (Python)CLI als Pendant zu pct (Typer + Pydantic)geplant
ccc-tui (Python)Textual-TUI als Pendant zum Proxmox-Webinterfacegeplant

Designprinzipien