Was der Server braucht
Ein Server oder eine VM reicht: Ubuntu Server 26.04, 4 Kerne, 17 GiB RAM, eine leere zweite Disk und kein eingehender Port. Die Installation prüft jeden Punkt dieser Seite, bevor sie etwas ändert, und gibt für jeden Punkt, der scheitert, die Lösung aus. Den Node installieren zeigt, wie du nur diese Prüfungen laufen lässt, Tage vor der Installation.
Der Server
- Ein Server nur für den Node.
detachbox-node-hostläuft als root und führt Befehle aus, die der detachbox-Server signiert, also beansprucht der Node den ganzen Server. Nichts Vergleichbares läuft daneben: kein Docker, kein LXD, kein Incus oder cloudflared von dir, kein anderer ZFS-Pool. Die Prüfung listet alles, was sie findet, mit dem Befehl, der es entfernt. - Ubuntu Server 26.04 LTS auf x86_64 (amd64), gebootet mit systemd und cgroup v2, das Root-Dateisystem auf ext4 oder xfs, nicht auf ZFS. Eine VM in deinem Hypervisor oder Cloud-Konto taugt genauso wie Hardware.
- 4 CPU-Kerne oder mehr. Zwei bleiben beim System; jeder weitere Kern betreibt deine Terminals.
- Mindestens 17 GiB RAM; ab 64 GiB zahlt sich der Node richtig aus. 8 GiB bleiben bei System und Basis-Image-Build. Der ZFS-Cache nimmt ein Sechzehntel des RAM, abgerundet auf eine Zweierpotenz, zwischen 1 und 16 GiB. Deine Terminals bekommen den Rest, und die Prüfung gibt die Aufteilung für deinen Server aus.
- Secure Boot aus oder der DKMS-Schlüssel eingetragen. Ubuntu 26.04 liefert ZFS 2.4.1 aus, das mit Deduplizierung geschriebene Blöcke verliert, darum baut der Installer OpenZFS 2.4.4 samt Kernelmodul auf dem Server. Die Header des laufenden Kernels müssen in apt verfügbar sein.
- Eine synchronisierte Uhr (NTP, UDP 123). Der Node nimmt Anfragen des Servers nur an, wenn seine eigene Uhr höchstens 60 Sekunden davon abweicht.
Die Disk
Der ZFS-Pool des Nodes braucht eine zweite, ganze, leere Disk mit 100 GiB oder mehr. 70 % des Pools werden deine Konto-Disk. Der Rest hält die System-Disk jedes Terminals, die Basis-Images und den freien Platz, den ZFS braucht, um schnell zu bleiben. Der Pool läuft mit lz4-Kompression, Deduplizierung und autotrim.
Der Installer lehnt eine Disk ab, die eine Partitionstabelle, ein Dateisystem, ein LVM-, RAID- oder ZFS-Label oder irgendetwas Eingehängtes hat. Er zerstört nie Daten und hat kein Force-Flag. Kommt es auf den Inhalt der Disk nicht an, lösch ihn vorher selbst:
sudo wipefs -a /dev/sdb # die Disk, die du dem Pool gibst
sudo zpool destroy <pool> # zuerst, wenn die Disk zu einem ZFS-Pool gehört
Das Netz
Der Node braucht keinen eingehenden Port. Jede Verbindung, die er aufbaut, geht nach außen:
| Ziel · Port | Wozu |
|---|---|
api.detachbox.com · TCP 443 | Der detachbox-Server: Registrierung, node-host-Releases, Berichte |
region1.v2.argotunnel.com, region2.v2.argotunnel.com · TCP und UDP 7844 | Der Cloudflare-Tunnel des Nodes |
Dein apt-Mirror, archive.ubuntu.com, security.ubuntu.com · TCP 80 oder 443 | Ubuntu-Pakete, auf dem Server und im Basis-Image |
pkgs.zabbly.com · TCP 443 | Incus-Pakete |
pkg.cloudflare.com · TCP 443 | cloudflared-Pakete |
github.com, release-assets.githubusercontent.com, api.github.com · TCP 443 | Das OpenZFS-Release; Tools des Basis-Images |
images.linuxcontainers.org · TCP 443 | Das Ubuntu-Image, auf dem das Basis-Image aufbaut |
download.docker.com, deb.nodesource.com, cli.github.com, gitlab.com · TCP 443 | Docker, Node.js und die CLIs von GitHub und GitLab im Basis-Image |
registry.npmjs.org, cdn.playwright.dev · TCP 443 | Codex, pnpm, yarn, Playwright und sein Browser |
downloads.claude.ai, astral.sh, mise.run · TCP 443 | Claude Code, uv und mise |
Deine NTP-Server (die von Ubuntu: ntp.ubuntu.com) · UDP 123 | Die Uhr |
s.appmaster.io · TCP 443 | Fehlerberichte von node-host und dem Edge an detachbox. Optional: Der Node läuft auch ohne diesen Host, und die Prüfungen testen ihn nicht |
Der Node baut sein Basis-Image alle 6 Stunden neu, also bleiben diese Hosts auch nach der Installation im Einsatz.
Gib den Terminals denselben ausgehenden Internetzugang, den der Laptop eines Entwicklers hat: Agenten rufen ihre Modellanbieter auf, und Builds ziehen aus Paket-Registries.
Lass diese Hosts ohne TLS-Inspektion durch. node-host und cloudflared akzeptieren nur Zertifikate öffentlicher Zertifizierungsstellen, und wenn etwas dazwischen den Verkehr neu signiert, nennt die Prüfung die Stelle, deren Zertifikat ankam.
Die Browser deiner Entwickler erreichen das Dashboard unter my.detachbox.com und api.detachbox.com sowie die eigenen Adressen des Nodes unter detachbox.dev, die Was Terminals erreichen auflistet.
Der Token
Die Installation braucht einen Registrierungstoken von deinem Ansprechpartner bei detachbox. Er gilt für einen Server und eine Installation. Ein Server hat 7 Tage, um sich damit zu registrieren; danach nimmt der Token 7 weitere Tage lang neue Läufe dieser Installation an. Ein neuer Token ersetzt den alten.