Von null an: Debian, Docker und Node64
Du hast noch keinen Docker-Host? Diese Anleitung führt dich vom leeren Server oder der leeren Proxmox-VM bis zur ersten Anmeldung in Node64 – Schritt für Schritt, mit kopierfertigen Befehlen. Wer Docker schon laufen hat, springt direkt zur Installation.
Der Weg in fünf Schritten
- Entscheiden, wo Node64 läuft – eigener Rechner, Proxmox-VM oder LXC.
- Debian 13 installieren und vorbereiten.
- Docker aus dem offiziellen Repository installieren.
- Node64 mit
docker composestarten. - Im Browser anmelden und die ersten Module einschalten.
Dauer: etwa 20 Minuten. Du brauchst Zugang per SSH oder Konsole und Rechte für sudo.
Wo läuft Node64? Rechner, VM oder LXC
Node64 braucht wenig: 1–2 CPU-Kerne, 1 GB Arbeitsspeicher und 8–16 GB Platte reichen für Healthchecks, DNS64, PROXY64 und DynDNS. Wichtig ist eine feste IP-Adresse im Heimnetz – am einfachsten als DHCP-Reservierung im Router.
| Wo | Bewertung | Hinweise |
|---|---|---|
| Eigener Rechner, Mini-PC | sehr gut | Debian direkt installieren, danach wie unten. |
| Proxmox-VM | empfohlen | Docker läuft wie auf echter Hardware, Host-Netz und Port 53 ohne Sonderrechte, UDP-Puffer in der VM einstellbar. Als Gast Debian 13 mit qemu-guest-agent. |
| Proxmox-LXC (unprivilegiert) | geht | Docker im Container braucht die Funktionen nesting und keyctl. Die UDP-Puffer (net.core.*) lassen sich im LXC nicht setzen – das machst du auf dem Proxmox-Host. Bei Updates von Proxmox gelegentlich Eigenheiten mit Docker. |
| Proxmox-LXC (privilegiert) | nicht empfohlen | Funktioniert, isoliert aber deutlich schlechter vom Host. |
| NAS (Synology, Unraid, QNAP …) | gut | Docker bzw. Container Manager bringt der Hersteller mit – weiter bei der Installation. Unraid mit br0 gibt dem Container eine eigene LAN-Adresse. |
Für einen LXC schaltest du die beiden Funktionen auf dem Proxmox-Host ein (101 ist die ID deines Containers) und startest ihn neu:
pct set 101 --features nesting=1,keyctl=1
pct reboot 101
Debian 13 vorbereiten
Installiere Debian 13 („trixie“) als Minimalsystem – ohne Desktop, mit SSH-Server. Danach als Benutzer mit sudo:
sudo apt update && sudo apt full-upgrade -y
sudo apt install -y ca-certificates curl
sudo timedatectl set-timezone Europe/Berlin
Die richtige Uhrzeit ist wichtig: Zertifikate und Anmeldungen prüfen die Zeit. Debian stellt sie per NTP von selbst.
Docker installieren (offizielles Repository)
Nimm Docker aus dem Repository von Docker selbst, nicht das ältere Paket docker.io aus Debian. So bekommst du aktuelle Versionen und docker compose gleich dazu:
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run --rm hello-world
Erscheint „Hello from Docker!“, läuft alles. Die Befehle unten nutzen sudo. Wer das nicht will, nimmt seinen Benutzer in die Gruppe docker auf (sudo usermod -aG docker $USER, danach neu anmelden) – das ist aber gleichbedeutend mit Root-Rechten.
UDP-Puffer für schnelle Verbindungen
Der CDN64-Tunnel und DNS über QUIC laufen per UDP. Linux hat dafür kleine Standardpuffer, die bei schnellen Anschlüssen bremsen. Größere Werte dauerhaft setzen (in einer VM oder auf dem Rechner selbst; beim LXC auf dem Proxmox-Host):
printf 'net.core.rmem_max = 7500000\nnet.core.wmem_max = 7500000\n' | sudo tee /etc/sysctl.d/90-node64.conf
sudo sysctl --system
Node64 starten
Lege einen Ordner an und darin die Datei compose.yaml:
sudo mkdir -p /opt/node64 && cd /opt/node64
sudo nano compose.yaml
Für den Einstieg empfehlen wir das Host-Netz: DNS64 sieht dann die echten Adressen deiner Geräte, und PROXY64 kann Ports ohne einzelne Freigaben öffnen.
services:
node:
image: ghcr.io/ipv64net/node64:latest
container_name: node64
restart: unless-stopped
network_mode: host # Oberfläche auf Port 8080
volumes:
- node64-data:/data # Datenbank, Schlüssel, Zertifikate
environment:
NODE64_LOG_LEVEL: info
read_only: true
tmpfs:
- /tmp
cap_add:
- NET_RAW # Ping-Checks
volumes:
node64-data:
sudo docker compose up -d
sudo docker ps --filter name=node64
Nach kurzer Zeit steht bei docker ps (healthy). Andere Varianten:
- Bridge-Netz (Standard von Docker): Jeden Port gibst du mit
ports:frei – Vorlagen unter Installation mit docker compose. - Macvlan oder IPvlan (z. B. Unraid
br0): Der Container bekommt eine eigene LAN-Adresse und braucht keine Portfreigaben (Ports). - Docker-Container mit Monitor64 überwachen oder Docker-Labels nutzen: Dafür bekommt Node64 zusätzlich den Docker-Socket – siehe Variante mit Docker-Socket.
Erste Anmeldung
- Öffne
http://<IP-des-Servers>:8080im Browser. - Der Setup-Assistent fragt Sprache, Admin-Konto (Passwort mindestens 10 Zeichen), Zeitzone sowie Name und Standort der Node ab.
- Danach bist du angemeldet. Unter Einstellungen → Module schaltest du ein, was du brauchst – weiter geht es mit den ersten Schritten.
Typische Stolpersteine
| Problem | Lösung |
|---|---|
| DNS64 startet nicht, Port 53 belegt | Auf vielen Systemen hält systemd-resolved Port 53 – siehe Port 53 ist belegt. Ein frisches Debian 13 ohne Desktop ist davon meist nicht betroffen. |
| Oberfläche aus dem Netz nicht erreichbar | Eine Firewall auf dem Server (ufw, nftables) oder in Proxmox blockt. Freigeben: 8080/tcp, für DNS64 53/udp und 53/tcp, für PROXY64 80/tcp, 443/tcp und 443/udp. |
| Docker im LXC: „operation not permitted“ | Die Funktionen nesting und keyctl fehlen (siehe oben), danach den LXC neu starten. |
| Checks über IPv6 schlagen fehl | Im Bridge-Netz hat ein Container standardmäßig kein IPv6 – siehe IPv6 im Container. Im Host-Netz nutzt Node64 das IPv6 des Servers. |
| Von außen erreichbar machen | Mit dem CDN64-Tunnel brauchst du keine Portfreigabe im Router. Sonst Router-Freigabe für 80 und 443 auf die feste IP des Servers. |
| Langsamer Tunnel bei schnellem Anschluss | UDP-Puffer setzen (siehe oben); der CDN64-Selbsttest zeigt einen Hinweis, wenn sie zu klein sind. |
| Platte läuft voll | Alte Images aufräumen: sudo docker image prune. Die Daten von Node64 liegen im Volume und bleiben erhalten. |
Updates und Sicherungen beschreibt Update & Backup, weitere Fehlerbilder die FAQ.
Etwas unklar, fehlt etwas oder hast du eine Frage zu Node64? Frag im offiziellen Forum v64.tech.