Vorab-BetaKinhavn wird derzeit mit Pilotfamilien erprobt. Texte, Funktionen und Preise können sich noch ändern.
kinhavn

Home Server installieren und einrichten

Von einem leeren Rechner zum laufenden Home Server mit Kindern, Regeln und gekoppelten Geräten. Rechnen Sie mit etwa einer Stunde, die meiste Zeit lädt das Modell.

Vorab-Beta. Die Installation richtet sich heute an Pilotfamilien und Pilotschulen mit etwas Technikerfahrung. Den Zugang zum Installationspaket (Git-Adresse oder ZIP-Datei) und eine Lizenz bekommen Sie von uns. Ein fertiges Abbild zum Aufspielen, ohne Kommandozeile, ist in Vorbereitung.

1 Voraussetzungen

mindestensempfohlen
BetriebssystemWindows 11 (64 Bit) oder Ubuntu 24.04ein Rechner, der nur dafür läuft
Arbeitsspeicher16 GB32 GB
Grafikkartekeine (kleine Modelle, langsam)ab 12 GB, besser 16 GB Videospeicher
Speicher50 GB freiSSD mit 100 GB frei
NetzHeimnetz (WLAN oder Kabel)Kabel, feste IP-Adresse im Router

Vergeben Sie dem Rechner im Router eine feste Adresse im Heimnetz, damit Geräte ihn immer wiederfinden.

2 Software installieren

Kinhavn braucht Git, Node.js, Docker Desktop (für die Kindersuche) und Ollama (für die lokale KI). Unter Windows geht das mit winget:

# PowerShell als Administrator öffnen (Rechtsklick auf Start → Terminal (Administrator))
winget install --id Git.Git -e
winget install --id OpenJS.NodeJS.LTS -e
winget install --id Docker.DockerDesktop -e
winget install --id Ollama.Ollama -e
# Danach einmal ab- und wieder anmelden, Docker Desktop starten und den Einrichtungsdialog abschließen

3 Kinhavn holen und bauen

# Normales PowerShell-Fenster (kein Administrator nötig)
cd C:\
git clone <GIT-ADRESSE-AUS-IHRER-EINLADUNG> Kinhavn
cd C:\Kinhavn
npm ci
npm run build

Mit einer ZIP-Datei statt Git: entpacken nach C:\Kinhavn und dort npm ci und npm run build ausführen.

4 Modelle laden

Das Gesprächsmodell und das Sicherheitsmodell laufen in Ollama auf Ihrem Rechner. Ohne Sicherheitsmodell pausiert die KI für Kinder, das ist Absicht.

# Grafikkarte mit 16 GB oder mehr
ollama pull qwen3.5:9b
# Grafikkarte mit 8–12 GB oder ohne Grafikkarte
ollama pull qwen3.5:4b
# Sicherheitsmodell der Policy-Schicht (immer nötig)
ollama pull llama-guard3:1b
ollama list

5 Kindersuche starten

Die Internetsuche läuft über ein eigenes SearXNG in Docker. Für Kinder der Stufen A und B sucht es nur in einer geprüften Liste kindgerechter Quellen.

cd C:\Kinhavn
docker compose -f docker\searxng\docker-compose.yml up -d
# Prüfen: sollte "OK" liefern
Invoke-WebRequest http://127.0.0.1:5780/healthz -UseBasicParsing | Select-Object -ExpandProperty Content

6 Konfiguration

cd C:\Kinhavn
Copy-Item packages\home-server\.env.example packages\home-server\.env
# Zufälliges Sitzungsgeheimnis erzeugen und anzeigen
$b = New-Object byte[] 48; [Security.Cryptography.RandomNumberGenerator]::Create().GetBytes($b); [Convert]::ToBase64String($b)
notepad packages\home-server\.env

In der Datei diese Zeilen setzen (alle anderen können leer bleiben):

PORT=4520
SESSION_SECRET=<die eben erzeugte Zeichenkette>
PERSISTENCE=file
OLLAMA_BASE_URL=http://127.0.0.1:11434
OLLAMA_MODEL=qwen3.5:9b
POLICY_GUARD_MODEL=llama-guard3:1b
POLICY_GUARD_BASE_URL=http://127.0.0.1:11434
SEARXNG_BASE_URL=http://127.0.0.1:5780
CENTRAL_URL=https://central.kinhavn.de
# Optional: eigener Zugang zu einem KI-Anbieter (Entwicklerzugang, kein Verbraucher-Abo)
# ANTHROPIC_API_KEY=
# OPENAI_API_KEY=
# GEMINI_API_KEY=

PERSISTENCE=file speichert alles in Dateien unter packages\home-server\.data. Wer SQL Server nutzen möchte: npm run db:init -w @kinhavn/home-server und dann PERSISTENCE=mssql.

7 Erster Start und Einrichtung

cd C:\Kinhavn
npm run start -w @kinhavn/home-server
# Ohne Elternkonto startet der Einrichtungsmodus und gibt ein Einrichtungstoken aus.
# Es steht auch in der Datei logs\setup-token.txt
  1. Öffnen Sie auf dem Rechner http://localhost:4520 und geben Sie das Einrichtungstoken aus der Ausgabe ein. Ohne Token ist der Assistent nicht erreichbar.
  2. Wählen Sie Neu einrichten. (Aus Sicherung wiederherstellen und Haushalt aus dem Pilot übernehmen sind die anderen Wege.)
  3. Legen Sie das erste Elternkonto an: Anzeigename, Anmeldename, Passwort mit mindestens 12 Zeichen.
  4. Name des Haushalts, Sprache, Zeitzone und das Altersband-Schema (Vorgabe Kinhavn A–E).
  5. Modelle: Der Assistent zeigt die gefundenen lokalen Modelle; einen API-Zugang können Sie später ergänzen.
  6. Der Wiederherstellungscode: 24 Wörter, nur jetzt sichtbar. Schreiben Sie sie auf Papier und bewahren Sie sie getrennt vom Rechner auf. Zur Bestätigung fragt der Assistent zwei der Wörter ab.

Danach ist das Einrichtungstoken ungültig, und Sie sind angemeldet. Dieser Browser ist jetzt als Elterngerät gekoppelt.

# PowerShell als Administrator: Zugriff aus dem Heimnetz erlauben (nur private Netze)
New-NetFirewallRule -DisplayName "Kinhavn Home Server" -Direction Inbound -Protocol TCP -LocalPort 4520 -Profile Private -Action Allow
# Adresse des Rechners im Heimnetz anzeigen
Get-NetIPAddress -AddressFamily IPv4 | Where-Object { $_.PrefixOrigin -eq 'Dhcp' } | Select-Object IPAddress

8 Geräte koppeln

Ein Gerät koppeln Erstens: Ein Elternteil erzeugt in der Verwaltung einen Kopplungscode, der zehn Minuten gilt. Zweitens: Das Gerät des Kindes scannt den QR-Code oder gibt Adresse und Code ein. Drittens: Das Gerät ist mit genau diesem Server verbunden und lässt sich jederzeit entkoppeln. K7Q4-M2XD gilt 10 Minuten einmal nutzbar 1 · Code erzeugen Elternverwaltung → Geräte 2 · scannen oder Adresse + Code 3 · verbunden mit genau diesem Server
  1. In der Elternverwaltung unter Geräte einen Kopplungscode erzeugen: Familiengerät für ein Gerät, auf dem Kinder ihr Profil wählen, oder Elterngerät.
  2. Auf dem neuen Gerät http://<Adresse-des-Rechners>:4520 öffnen, „Server hinzufügen“ wählen und Adresse und Code eingeben oder den QR-Code scannen. Der Code gilt zehn Minuten und nur einmal.
  3. Auf Familiengeräten wählt das Kind sein Profil und gibt seine PIN ein.

Heimnetz ohne HTTPS. Im Heimnetz erreichen Geräte den Server unter http://<Name-oder-IP>:4520. Browser erlauben über eine solche Adresse weder die Installation als App noch den Kamerazugriff für QR-Codes. Koppeln Sie Geräte dann mit Adresse und Code. Eine eigene HTTPS-Adresse je Server kommt mit dem Fernzugriff; Pilotfamilien helfen wir bis dahin bei einer Lösung.

Unter Geräte sehen Sie jederzeit, welche Geräte verbunden sind, und können jedes einzeln entkoppeln; seine Sitzungen enden sofort.

9 Kinder, Regeln, Topf

10 Zweiter Faktor

In der Elternverwaltung beim eigenen Konto den zweiten Faktor einrichten: den QR-Code mit Google Authenticator, Microsoft Authenticator oder einer gleichwertigen App scannen und mit einem Code bestätigen. Die zehn Einmal-Wiederherstellungscodes ausdrucken. In den Einstellungen des Haushalts können Sie den zweiten Faktor für alle Elternkonten verlangen. Eine Anmeldung mit Microsoft- oder Google-Konto lässt sich zusätzlich einschalten, ist aber nie nötig.

11 Zentrale und Sicherung

Jede Nacht um 03:00 Uhr legt der Home Server eine verschlüsselte Sicherung an und behält die sieben neuesten. Unter Sicherungen sehen Sie Zeitpunkt und Ergebnis und können den Ordner ändern, zum Beispiel auf eine zweite Festplatte.

Freiwillig können Sie den Home Server bei der Kinhavn-Zentrale anmelden. Dann geht zusätzlich einmal pro Woche eine versiegelte Kopie dorthin, die nur Ihr Wiederherstellungscode öffnet, und Sie sehen Ihren Update-Stand.

  1. In der Elternverwaltung den Bereich Zentrale öffnen und „Bei der Zentrale anmelden“ wählen.
  2. Den Aktivierungscode eingeben, den Sie von uns bekommen haben (30 Tage gültig, einmal nutzbar).
  3. Fertig: Status, Server-Kennung, „Updates bis“ und letzter Kontakt stehen auf derselben Seite. Abmelden geht dort jederzeit.

Ohne Zentrale funktioniert alles andere genauso. Antwortet sie nicht, arbeitet der Home Server einfach weiter.

12 Dauerbetrieb und Updates

Damit der Home Server nach einem Neustart von selbst läuft, legen Sie eine geplante Aufgabe an (PowerShell als Administrator):

# Startet den Home Server bei Ihrer Anmeldung, nach Docker Desktop und Ollama
$a = New-ScheduledTaskAction -Execute "cmd.exe" -Argument '/c cd /d C:\Kinhavn && npm run start -w @kinhavn/home-server >> logs\home-server-task.log 2>&1'
$t = New-ScheduledTaskTrigger -AtLogOn -User $env:USERNAME
$s = New-ScheduledTaskSettingsSet -RestartCount 3 -RestartInterval (New-TimeSpan -Minutes 1) -ExecutionTimeLimit ([TimeSpan]::Zero)
Register-ScheduledTask -TaskName "Kinhavn Home Server" -Action $a -Trigger $t -Settings $s -Description "Kinhavn Home Server auf Port 4520"

Stellen Sie in Windows ein, dass der Rechner nicht in den Ruhezustand geht, und starten Sie Docker Desktop und Ollama mit der Anmeldung. Ein Update spielen Sie so ein:

cd C:\Kinhavn
Stop-ScheduledTask -TaskName "Kinhavn Home Server"
git pull --ff-only
npm ci
npm run build
Start-ScheduledTask -TaskName "Kinhavn Home Server"
Invoke-RestMethod http://127.0.0.1:4520/health

13 Linux

Unter Ubuntu sind es dieselben Schritte mit anderen Befehlen:

# Ubuntu 24.04 LTS, als normaler Benutzer mit sudo
sudo apt update && sudo apt install -y git curl ca-certificates
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
curl -fsSL https://get.docker.com | sudo sh && sudo usermod -aG docker $USER
curl -fsSL https://ollama.com/install.sh | sh
# neu anmelden, dann:
git clone <GIT-ADRESSE-AUS-IHRER-EINLADUNG> ~/kinhavn && cd ~/kinhavn
npm ci && npm run build
ollama pull qwen3.5:9b && ollama pull llama-guard3:1b
docker compose -f docker/searxng/docker-compose.yml up -d
cp packages/home-server/.env.example packages/home-server/.env
openssl rand -base64 48      # als SESSION_SECRET eintragen, übrige Werte wie unter Windows
nano packages/home-server/.env
npm run start -w @kinhavn/home-server
# Dauerbetrieb als systemd-Dienst
sudo tee /etc/systemd/system/kinhavn-home.service >/dev/null <<UNIT
[Unit]
Description=Kinhavn Home Server
After=network-online.target docker.service ollama.service
[Service]
User=$USER
WorkingDirectory=$HOME/kinhavn
ExecStart=/usr/bin/npm run start -w @kinhavn/home-server
Restart=on-failure
[Install]
WantedBy=multi-user.target
UNIT
sudo systemctl daemon-reload && sudo systemctl enable --now kinhavn-home
# Zugriff nur aus dem Heimnetz
sudo ufw allow from 192.168.0.0/16 to any port 4520 proto tcp

14 Wenn etwas nicht geht

Was Sie sehenWoran es liegtWas hilft
„Die KI macht gerade Pause“Ollama oder das Sicherheitsmodell antworten nichtollama list prüfen, Ollama starten, llama-guard3:1b laden
Geräte finden den Server nichtFirewall, falsche Adresse, Rechner schläftFirewall-Regel aus Schritt 7, feste Adresse im Router, Energiesparen aus
Suche liefert nichtsSearXNG läuft nichtDocker Desktop starten, docker compose -f docker\searxng\docker-compose.yml up -d
Port 4520 belegtein anderes Programm oder eine zweite InstanzGet-NetTCPConnection -LocalPort 4520, anderes Programm beenden oder PORT ändern
Einrichtungstoken wegFenster geschlossensteht in logs\setup-token.txt; nach einem Neustart gilt ein neues
Anmeldung bei der Zentrale abgelehntCode abgelaufen, schon benutzt oder vertipptneuen Aktivierungscode bei uns anfordern

Den Zustand zeigt http://localhost:4520/health. Bei Fragen: Kontakt. Bitte schicken Sie uns nie Chats oder Namen Ihrer Kinder, nur die Fehlermeldung.