No description
  • Shell 73%
  • Jinja 27%
Find a file
Kevin Heyer e9f30a3764
All checks were successful
/ image (push) Successful in 26m24s
/ lint (push) Successful in 1m38s
iac-ai-workstation: a VM for Claude Code around the clock
A Debian 13 VM on which Claude Code runs independently of a PC:

- Claude Code is the native build from Anthropic, installed for the
  admin user. Version and checksum come from the release manifest on
  downloads.claude.ai, the binary is fetched with get_url and verified
  before "claude install" runs. "update" moves to the newest release.
- The tmux session "claude" of the admin user is a systemd unit
  (ai-workstation-tmux) and is restarted when it ends – also after a
  reboot.
- Developer tools and Docker from Debian only (git, gh, Python, Node.js,
  Go, Rust, docker.io, ripgrep, fd, jq, shellcheck, database clients …),
  no third-party repositories.
- Optional module "desktop" (roles/desktop): XFCE, Firefox and xrdp on
  port 3389 for private networks, with an admin password generated per
  instance; deselecting it removes the packages and locks the password.

Based on ai-workstation-trixie-vm by code-orange, reduced to what an
iac guest needs: no desktop by default, no third-party repositories, no
monitoring or security agents, no password in the manifest.

Tested in the dev container: install, smoke test, idempotence, the
desktop module selected and removed again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 18:18:21 +02:00
.forgejo/workflows iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
handlers iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
image iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
roles/desktop iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
tasks iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
templates iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
tests iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
.clinerules iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
.cursorrules iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
.windsurfrules iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
AGENTS.md iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
CHANGELOG.md iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
CLAUDE.md iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
GEMINI.md iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
iac.json iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
README.md iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00
vm.sh iac-ai-workstation: a VM for Claude Code around the clock 2026-10-11 18:18:21 +02:00

iac-ai-workstation

Debian-13-VM für KI-Coding-Agenten auf Proxmox VE: Claude Code läuft rund um die Uhr in einer tmux-Sitzung, unabhängig von deinem PC. Dazu Entwicklerwerkzeuge (Git, Python, Node.js, Go, Rust, Docker, ripgrep, …) – alles aus Debian, ohne Fremd-Repositories. Teil von iac.

Installation (auf der Proxmox-Node)

bash -c "$(curl -fsSL https://iac.heyer.systems/ai-workstation/vm.sh)"   # VM

Standard: 4 CPUs, 8 GB RAM, 64 GB Disk. Ohne Dialog: IAC_NONINTERACTIVE=1 und var_*-Variablen – am einfachsten mit dem Generator auf https://iac.heyer.systems/apps/ai-workstation/.

Claude Code benutzen

ssh heyeradmin@<ip>
tmux attach -t claude        # die Sitzung läuft immer, auch nach einem Neustart der VM
claude                       # beim ersten Mal: Anmeldung über den angezeigten Link

Aus der Sitzung lösen, ohne Claude Code zu beenden: Ctrl+b, dann d. Wird die Sitzung versehentlich geschlossen, ist sie nach wenigen Sekunden wieder da (systemd-Dienst ai-workstation-tmux).

Claude Code ist die native Version von Anthropic (~/.local/bin/claude), installiert mit geprüfter Checksumme. Es aktualisiert sich selbst; update holt ebenfalls die neueste Version.

Desktop (optional)

Modul desktop: XFCE mit Firefox, per RDP auf Port 3389 (nur aus privaten Netzen). Anmelden als heyeradmin, das Passwort steht in der VM:

sudo grep admin_password /etc/iac/settings.env

Einschalten beim Anlegen (var_modules=desktop) oder später in der VM:

update --modules desktop      # an
update --modules ''           # wieder aus – das Passwort wird gesperrt

Update (in der VM)

update

Selbsttest (in der VM)

bash /var/lib/iac/src/core/bin/iac-smoke