Mac Mini M4 KI-Server – Projektdokumentation
Projektüberblick
- Bereitstellung einer stabilen KI-Infrastruktur für lokale Nutzung.
- Webbasierter Zugriff über Open WebUI statt reiner Terminal-Interaktion.
- Saubere Trennung zwischen Inference-Layer und containerisierter Service-Ebene.
- Sicherer Fernzugriff ohne offene Router-Ports.
Ausgangssituation
Ausgangsbasis war der Wunsch, einen Mac Mini M4 in einen lokalen KI-Server zu überführen, der rund um die Uhr betrieben werden kann und zugleich ohne tiefe Vorkenntnisse administrierbar bleibt. Die Anleitung beschreibt den Aufbau mit Terminalbefehlen, die Installation eines lokalen Modellservers und die Ergänzung durch eine containerisierte Weboberfläche.
Im Fokus stand dabei nicht nur die reine technische Funktionsfähigkeit, sondern vor allem ein Setup, das im Alltag stabil läuft, sich aus der Ferne sicher bedienen lässt und bei Bedarf schrittweise erweitert werden kann.
| Ausgangspunkt | Bewertung |
|---|---|
| Hardware | Mac Mini M4 mit Apple Silicon |
| Einsatzszenario | Lokale KI-Nutzung und Fernzugriff |
| Betriebsmodell | 24/7-Dauerbetrieb |
| Rahmenbedingung | Möglichst einfaches, aber professionell nutzbares Setup |
Projektziele
- Lokales Hosting von Sprachmodellen
- Browserbasierte Chat-Oberfläche
- Headless-Betrieb per SSH
- Optionale Service-Erweiterung
- Stabiler Dauerbetrieb
- Automatischer Start zentraler Dienste
- Klare Port- und Rollenverteilung
- Wiederanlauf nach Stromausfall
- Kein offenes Portforwarding
- VPN-basierter externer Zugriff
- Minimierte Freigaben
- Kontrollierte Erweiterbarkeit
Planung & Konzeption
Container sollten nur für ergänzende Dienste verwendet werden. Dadurch entsteht eine saubere Aufgabenteilung: hohe Modell-Performance auf dem Host, reproduzierbare Utility-Services in einer isolierten Colima-Umgebung.
Gleichzeitig wurde die Bedienbarkeit stark berücksichtigt. Statt nur einer CLI-Lösung wurde Open WebUI als zentrale Benutzeroberfläche eingeplant. So kann das System alltagsnah genutzt werden, ohne auf die Flexibilität der Shell verzichten zu müssen.
| Entscheidung | Begründung |
|---|---|
| Ollama nativ | Maximale Performance und direkter Hardwarezugriff |
| Docker via Colima | Saubere Isolation für Zusatzdienste auf Apple Silicon |
| Open WebUI | Nutzbare Chat-Oberfläche mit Administrationskomfort |
| Tailscale statt Portforwarding | Deutlich sichererer externer Zugriff |
Hardware, Softwarebasis und Inference
- Mac Mini M4 als Plattform mit Apple Silicon.
- Unified Memory als kritischer Faktor für lokale Modellgrößen.
- Metal-Beschleunigung als wesentlicher Performance-Vorteil.
- macOS als Host-Betriebssystem
- Homebrew als Paketmanager
- Ollama als lokaler Modellserver
- Colima als Docker-Laufzeitumgebung
| Komponente | Rolle | Projektbedeutung |
|---|---|---|
| Mac Mini M4 | Hardwareplattform | Leistungsfähige und energieeffiziente Edge-Compute-Basis |
| Homebrew | Paketverwaltung | Reproduzierbare Installation der Kernkomponenten |
| Ollama | Inference-Layer | Lokale Modellbereitstellung und API-Endpunkt |
| Colima | Container-VM | Linux-basierte Laufzeit für Docker-Dienste |
| Docker | Containerbetrieb | Standardisierte Bereitstellung der Zusatzdienste |
Implementierung
- Aktivierung von SSH und optionaler Bildschirmfreigabe für den headless Betrieb.
- Anpassung der Energieeinstellungen für einen unterbrechungsarmen Dauerbetrieb.
- Installation von Homebrew als Grundlage für spätere Komponenten.
- Bereitstellung von Ollama als nativem Host-Dienst.
- Installation von Colima, Docker und docker-compose.
- Deployment von Open WebUI und Anbindung an den Host-Endpunkt von Ollama.
- Optionaler Ausbau um Portainer, Homarr und FileBrowser.
brew install ollama brew services start ollama brew install colima docker docker-compose colima start --memory 4 --disk 100 --cpu 4 docker run -d \ --name openwebui \ -p 3000:8080 \ -v openwebui:/app/backend/data \ --restart always \ ghcr.io/open-webui/open-webui:main
Zielarchitektur
Client / Browser
│
└─ Open WebUI (Docker / Colima, Port 3000)
│
└─ host.docker.internal:11434
│
└─ Ollama (nativ auf macOS)
│
└─ Lokale Modelle / Metal GPU / Unified Memory
| Schicht | Betriebsort | Bewertung |
|---|---|---|
| Inference | macOS Host | Performant und hardware-nah |
| Web UI | Docker / Colima | Flexibel und reproduzierbar |
| Optionale Tools | Docker / Colima | Modular zuschaltbar |
| Remote Access | LAN / VPN | Sicher ohne Router-Portfreigaben |
Security-Konzept
- SSH ausschließlich intern oder per VPN nutzen.
- Management-Dienste wie Portainer oder FileBrowser nicht offen veröffentlichen.
- Starke, einzigartige Zugangsdaten für alle Webdienste setzen.
- Nur explizit benötigte Ordner in Container hineinmounten.
| Aspekt | Projektentscheidung |
|---|---|
| Externer Zugriff | Tailscale / VPN |
| SSH | Kein offenes Portforwarding |
| Dateifreigabe | Nur dedizierte Host-Verzeichnisse freigeben |
| Container | Nur notwendige Zusatzdienste aktivieren |
Betriebskonzept
- Erreichbarkeit von Ollama und Open WebUI prüfen
- Verfügbare Modelle und Speicherverbrauch beobachten
- Docker-Containerstatus kontrollieren
- Neue Container zuerst einzeln testen
- Ports und Volumes dokumentieren
- Änderungen schrittweise umsetzen
- macOS aktuell halten
- Homebrew-Pakete kontrolliert aktualisieren
- Docker-Images regelmäßig erneuern
Modellportfolio und technische Grenzen
Die Projektumsetzung zeigt deutlich, dass nicht nur die CPU, sondern vor allem der Unified-Memory-Rahmen und die GPU-Anbindung die Betriebsgrenzen bestimmen. Daraus folgt eine realistische Modellstrategie statt eines überzogenen Größenfokus.
| Modellklasse | Einschätzung |
|---|---|
| 3B bis 8B | Sehr gut geeignet |
| Mittlere Modelle | Je nach Speicherbudget brauchbar |
| 70B | Nicht Ziel dieser Plattform |
Troubleshooting
pkill -9 colima pkill -9 limactl colima delete colima start --memory 4 --disk 100 --cpu 4
- Connection URL in Open WebUI prüfen.
- Host-Endpunkt localhost:11434 lokal testen.
- Docker-Containerstatus und Colima-Status kontrollieren.
In diesem Fall müssen die Energieoptionen mit pmset und gegebenenfalls zusätzliche Screensaver-Einstellungen angepasst werden, damit der Serverbetrieb nicht unterbrochen wird.
Wenn ein zu großes Modell geladen wird, steigt das Risiko für starke Performance-Einbrüche oder Instabilität. Die Projektpraxis bestätigt daher die Notwendigkeit einer konservativen Modellwahl.
Betriebsstabilität, Wiederanlauf und Recovery
echo 'alias start-server="colima start --memory 4 --disk 100 --cpu 4 && sleep 30 && docker start openwebui filebrowser portainer homarr && echo \"✅ Alle Services gestartet!\""' >> ~/.zshrc source ~/.zshrc
Für einen noch professionelleren Betrieb wären ergänzend Konfigurationsbackups, Versionsdokumentation und ein definierter Update-Rollback-Prozess sinnvoll.
Anhang
| Element | Wert / Bedeutung |
|---|---|
| Ollama | Lokaler Modellserver auf Port 11434 |
| Open WebUI | Webfrontend auf Port 3000 |
| Portainer | Optionale Docker-Verwaltung auf Port 9443 |
| Homarr | Optionales Dashboard auf Port 7575 |
| FileBrowser | Optionale Dateiverwaltung auf Port 8080 |
| Tailscale | VPN-basierter externer Zugriff |
