Dedizierter Mac · Anleitung

Vom ersten SSH-Login
bis zum Inferenzendpunkt

Verbinden Sie sich zuerst mit dem Rechner, übertragen Sie dann Projekte und Modelle und lassen Sie anschließend den Dienst am Standort laufen. Die Befehle auf dieser Seite setzen einen bereitgestellten Mac mini voraus. Öffentliche Adresse, Benutzername und Zugangsdaten finden Sie in den Instanzdetails der Konsole.

Schon bestellt? Prüfen Sie in der Konsole, ob Ihre Instanz bereitgestellt wurde, und arbeiten Sie dann die folgenden Schritte der Reihe nach ab.

VerbindungsleitfadenSSH → MLX

XCODEOPS / RUNBOOK

Erst eine vertrauenswürdige Verbindung herstellen,
dann den Dienst freigeben.

01Zugangsdaten abrufenStandort und öffentliche Adresse in der Konsole prüfen
02Tunnel einrichtenSSH für Terminal und Remotedesktop
03Endpunkt startenMLX lauscht standardmäßig nur lokal
Zugriffsweg geplantPhysischer Rechner · exklusiv genutzt

Direkt zum Thema

Lesen Sie bei der ersten Nutzung am besten die Abschnitte zu Verbindung, Migration und MLX der Reihe nach. Teams mit bestehender Umgebung können direkt zu Standortwahl und Fehlerbehebung springen.

01 / Zugriff einrichten

Per SSH mit dem dedizierten Rechner verbinden

Die Verbindungsdaten finden Sie ausschließlich in den Instanzdetails der Konsole. Speichern Sie anfängliche Zugangsdaten weder in Repositories noch in CI-Protokollen oder Team-Chats. Testen Sie zuerst die Anmeldung mit Schlüssel und schränken Sie anschließend die Anmeldemethoden ein.

01

Instanz prüfen

Melden Sie sich in der Konsole an, öffnen Sie die bereitgestellte Instanz und notieren Sie Standort, öffentliche IP-Adresse, SSH-Port und Anmeldenamen. Prüfen Sie den Instanzstatus, bevor Sie die Verbindung herstellen. Maßgeblich ist die aktuelle Verfügbarkeitsanzeige in der Konsole.

02

Öffentlichen Schlüssel hinzufügen

Erstellen Sie lokal einen eigenen Schlüssel und fügen Sie den öffentlichen Schlüssel über den dafür vorgesehenen Zugang in der Konsole oder in den autorisierten Schlüsseln des Instanzkontos hinzu. Laden Sie nur den öffentlichen Schlüssel hoch; der private Schlüssel bleibt auf Ihrem Gerät.

03

Testen und absichern

Prüfen Sie in einem zweiten Terminal, ob die Anmeldung mit Schlüssel funktioniert. Deaktivieren Sie anschließend gemäß den Richtlinien Ihres Teams die SSH-Anmeldung per Passwort. Lassen Sie vor Änderungen die aktuelle Sitzung geöffnet und prüfen Sie die Konfigurationssyntax, damit Sie sich nicht selbst aussperren.

Checkliste für die lokale Verbindung

Erstellen Sie einen Schlüssel und laden Sie den Inhalt der Datei .pub hoch. Die Beispieladressen in der folgenden Konfiguration sind reservierte Dokumentationsadressen. Ersetzen Sie sie vor der Verwendung durch die in der Konsole angezeigte IP-Adresse, den Port und den Benutzernamen.

ssh-keygen -t ed25519 -f ~/.ssh/xops_node

cat ~/.ssh/xops_node.pub

~/.ssh/config

Host xops-node
  HostName 192.0.2.10
  User mac-user
  Port 22
  IdentityFile ~/.ssh/xops_node
  IdentitiesOnly yes

Speichern Sie die Datei und führen Sie chmod 600 ~/.ssh/configaus. Starten Sie anschließend ssh xops-node. Prüfen Sie beim ersten Verbindungsaufbau den Host-Fingerabdruck. Bei Verbindungsproblemen kontrollieren Sie zuerst IP-Adresse, Port, Schlüsselberechtigungen und Instanzstatus.

02 / Grafische Oberfläche

Remotedesktop per SSH-Tunnel statt VNC direkt freizugeben

Wenn Sie die grafische Oberfläche von Xcode benötigen oder Build-Artefakte prüfen möchten, vergewissern Sie sich zuerst, dass die Bildschirmfreigabe für die Instanz aktiviert ist. Leiten Sie dann den entfernten Port 5900 auf Ihren lokalen Rechner weiter. Wird die SSH-Sitzung getrennt, endet auch der Tunnel.

Im lokalen Terminal ausführen
ssh -N -L 5901:127.0.0.1:5900 xops-node

Lassen Sie dieses Terminal geöffnet. Stellen Sie über die macOS-App „Bildschirmfreigabe“ oder einen VNC-kompatiblen Client eine Verbindung zu vnc://127.0.0.1:5901her. Prüfen Sie die Anmelderechte für die grafische Oberfläche und SSH getrennt; gehen Sie nicht davon aus, dass beide dieselben Zugangsdaten verwenden.

Vor dem Start prüfen

  • Verwenden Sie vorzugsweise die integrierte Bildschirmfreigabe-App. Andere Clients müssen die gewählte Verbindungs- und Authentifizierungsmethode unterstützen.
  • Wenn die Anzeige ruckelt, reduzieren Sie zunächst die Auflösung und Farbtiefe und prüfen Sie anschließend die Verbindung zum Standort. Geben Sie VNC nicht über einen öffentlich erreichbaren Port frei, nur um die Geschwindigkeit zu erhöhen.
  • Ob die Zwischenablage synchronisiert wird, hängt sowohl vom Client als auch von der entfernten Sitzung ab. Übertragen Sie Modellgewichte, Zertifikate oder große Projekte stattdessen mit rsync oder einem anderen Verfahren zur Dateisynchronisierung.
  • Melden Sie sich auf gemeinsam genutzten Rechnern nach der Arbeit sowohl vom Remotedesktop ab als auch vom SSH-Tunnel und entfernen Sie lokal gespeicherte vertrauliche Dateien.
03 / Umgebung migrieren

Lokalen Mac in drei Schritten auf den Cloud-Mac umziehen

Synchronisieren Sie zuerst wiederherstellbare Projektdateien, richten Sie danach die Toolchain ein und binden Sie zuletzt CI an. Für Modellgewichte, Signaturmaterial und Build-Caches gelten unterschiedliche Vorgehensweisen. Kopieren Sie nicht ungefiltert das gesamte Benutzerverzeichnis Ihres lokalen Rechners.

01 / DATEN

Daten und Modelle

Synchronisieren Sie Projekte und Modellgewichte inkrementell mit rsync . Testen Sie die Übertragung zunächst und prüfen Sie anschließend Zielverzeichnis, Dateiberechtigungen und verfügbaren Speicherplatz. Ein Image auf einem externen Laufwerk eignet sich nur für eine Offline-Migration, wenn Format und Kapazität vorher geprüft wurden.

rsync -avh --progress ./project/ \
  xops-node:~/work/project/

Übertragen Sie große Modellgewichte in mehreren Teilen und vergleichen Sie nach Abschluss Dateigröße und Prüfsumme. Speichern Sie keine privaten Schlüssel oder temporären Tokens im Projektverzeichnis.

Geschätzte Dauerab 15–60 MinutenAbhängig von Datenmenge und Upload-Verbindung
02 / TOOLCHAIN

Toolchain und Signierung

Exportieren Sie lokal mit Homebrew Bundle eine Brewfileund importieren Sie sie auf dem Rechner. Prüfen Sie anschließend die Xcode-Version, die Befehlszeilenwerkzeuge und die Sperrdateien der Abhängigkeiten. Übertragen Sie Signaturzertifikate separat und beschränken Sie nach dem Import den Zugriff auf den Schlüsselbund.

brew bundle dump --file=./Brewfile
rsync -av ./Brewfile xops-node:~/work/
ssh xops-node 'brew bundle --file=~/work/Brewfile'

Kopieren Sie keine lokale virtuelle Python-Umgebung auf den Zielrechner. Installieren Sie die Abhängigkeiten dort neu.

Geschätzte Dauerab 20–45 MinutenAbhängig von Paketen und Downloadgeschwindigkeit
03 / CI

CI-Pipeline anbinden

Registrieren Sie in Ihrem bestehenden CI-Projekt einen selbst gehosteten Runner und ordnen Sie ihn einem bestimmten Repository oder Team zu. Legen Sie Build-Caches in einem separaten Verzeichnis ab und stimmen Sie die Parallelität auf Arbeitsspeicher und Build-Auslastung ab.

  • Führen Sie zunächst einen Test-Build ohne Veröffentlichungsschlüssel aus.
  • Dokumentieren Sie Cache-Pfad, Speicherverbrauch und Bereinigungsregeln.
  • Stellen Sie sicher, dass der Runner unter einem eigenen Benutzerkonto läuft.
Geschätzte Dauerab 15–30 MinutenOhne ersten vollständigen Build

Diese Zeitspannen dienen der Planung der Migration und sind keine Angaben zur Bereitstellungsdauer der Instanz. Prüfen Sie vor der ersten Synchronisierung den verfügbaren Speicherplatz. Wenn Sie mehr Speicher benötigen, finden Sie verfügbare Optionen unterModelle und Optionen.

04 / MLX-Inferenz

Inferenzendpunkt erst lokal testen, dann fürs Team bereitstellen

Der gemeinsam genutzte Arbeitsspeicher von Apple Silicon steht CPU und GPU zur Verfügung. Ob ein Modell hineinpasst, hängt auch vom Quantisierungsformat, der Kontextlänge und der Auslastung durch andere Prozesse ab. Lassen Sie bei der Auswahl Spielraum für System und Dienste, statt den gesamten angegebenen Arbeitsspeicher als Platz für Gewichte einzuplanen.

Installieren, starten, testen

Richten Sie auf der Instanz eine eigene Python-Umgebung für den Dienst ein. Der folgende Modellpfad verweist auf ein lokales Verzeichnis, das bereits mit der Instanz synchronisiert wurde. Testen Sie nach dem Start zunächst die OpenAI-kompatible Schnittstelle direkt auf der Instanz.

python3 -m venv ~/mlx-service/.venv
~/mlx-service/.venv/bin/python -m pip install mlx-lm

~/mlx-service/.venv/bin/python -m mlx_lm.server \
  --model ~/models/quantized-model \
  --host 127.0.0.1 --port 8080
curl http://127.0.0.1:8080/v1/models

Prüfen Sie zuerst, ob alle Modelldateien vorhanden sind, die Python-Umgebung funktioniert und der Port nicht von einem anderen Prozess belegt ist. Je nach Version von mlx-lm können sich die Parameter ändern. Maßgeblich ist daher vor der Bereitstellung die Hilfe des auf der Instanz installierten Befehls.

ZUGRIFF / 01

Zugriff fürs Team einrichten

Standardmäßig lauscht der Dienst nur auf 127.0.0.1. Für wenige interne Aufrufe können Teammitglieder jeweils eigene SSH-Tunnel einrichten. Wenn Sie einen zentralen Zugang benötigen, verwenden Sie einen Reverse-Proxy mit Authentifizierung, Zugriffskontrolle und TLS. Geben Sie den ungeschützten Inferenzendpunkt nicht direkt im öffentlichen Internet frei.

ssh -N -L 8080:127.0.0.1:8080 xops-node
START / 02

Nach Neustarts weiterlaufen lassen

Sobald der Dienst im Vordergrund stabil läuft, erstellen Sie dafür eine benutzerspezifische launchd Konfiguration. Geben Sie darin Python aus der virtuellen Umgebung, Modellpfad, Arbeitsverzeichnis und Protokolldatei an. Prüfen Sie die Konfiguration, laden Sie sie in die aktuelle Benutzersitzung und kontrollieren Sie nach einem Neustart der Instanz Prozess und Endpunkt.

plutil -lint ~/Library/LaunchAgents/com.xcodeops.mlx.plist
launchctl bootstrap gui/$(id -u) \
  ~/Library/LaunchAgents/com.xcodeops.mlx.plist

Orientierungswerte für den Arbeitsspeicher: 16 GB eignen sich für Experimente mit kleinen quantisierten Modellen, 24 GB für Tests einzelner Dienste mit gängigen quantisierten 7B- bis 8B-Modellen und 64 GB für größere Modelle oder mehrere Aufgaben. Der tatsächliche Durchsatz hängt von Modell, Kontext und Auslastung ab. Messen Sie ihn mit Ihren eigenen Beispielanfragen.

05 / Entwicklung und Bereitstellung

Xcode-Builds auf dem Rechner ausführen, Gerätetests kontrolliert durchführen

Ein dedizierter Rechner eignet sich für Xcode-Builds, Simulator-Tests und selbst gehostete Runner: CPU, GPU und gemeinsam genutzter Arbeitsspeicher werden auf demselben Rechner nicht von den Aufgaben anderer Kunden beansprucht. Erfolgreiche Simulator-Tests garantieren jedoch nicht, dass Kamera, Bluetooth oder Leistungstests auf einem echten Gerät ebenfalls funktionieren.

Simulator-Matrix

Legen Sie Xcode- und Simulator-Runtime-Versionen fest und erstellen Sie eine Testmatrix für wichtige Gerätegrößen und Betriebssystemversionen. Prüfen Sie zuerst mit xcrun simctl list devices available welche Geräte tatsächlich verfügbar sind. So vermeiden Sie, dass die Pipeline auf eine nicht installierte Runtime verweist.

Prüfen: Version / Gerät / Testbericht

Archivieren und verteilen

Lassen Sie den Runner zunächst reproduzierbare Tests und Archivierungen durchführen. Laden Sie den TestFlight-Build anschließend über den bestehenden Signaturprozess Ihres Teams hoch. Speichern Sie Zertifikate, Profile und Upload-Zugangsdaten an einem geschützten Ort. Schreiben Sie sie weder in ein Repository noch in dauerhaft gespeicherte Build-Protokolle.

Prüfen: Signierung / Archiv / Upload-Ergebnis

Grenzen bei echten Geräten

Tests mit Sensoren, tatsächlichem Netzwerkwechsel, Stromverbrauch oder Zubehör müssen weiterhin auf physischen Geräten durchgeführt werden, die Ihr Team kontrolliert. Der Cloud-Rechner übernimmt Build und Verteilung; abschließende Regressionstests und die Reproduktion von Fehlern erfolgen auf lokalen Geräten.

Prüfen: Geräteprotokolle / Schritte zur Reproduktion
06 / Standort und Verbindung

Verbindung zu allen vier Standorten messen, bevor Sie Aufgaben zuweisen

Singapur, Tokio, Seoul und Hongkong sind verfügbar. Der Standort der Teammitglieder, das Routing des Internetanbieters und die Auslastung zu Spitzenzeiten beeinflussen die tatsächliche Leistung. Messen Sie bei Inferenzschnittstellen sowohl die Round-Trip-Zeit der Anfrage als auch die Generierungsdauer des Modells, statt sich allein auf Ping zu verlassen.

Orientierungswerte für Verbindungen im asiatisch-pazifischen Raum

Die Tabelle zeigt Referenzwerte in Millisekunden, die nach einer festgelegten Methodik ermittelt wurden. Sie sind keine Echtzeitgarantie für einzelne Verbindungen. Wiederholen Sie die Messungen in Ihrer eigenen Netzwerkumgebung, bevor Sie einen Standort auswählen.

Referenzwerte der durchschnittlichen ICMP-Round-Trip-Latenz in Millisekunden von acht Herkunftsstädten zu den Standorten Singapur, Tokio, Seoul und Hongkong
HerkunftsstadtSingapurTokioSeoulHongkong
Shanghai76 ms58 ms53 ms41 ms
Shenzhen62 ms72 ms65 ms29 ms
Taipeh64 ms46 ms54 ms39 ms
Bangkok43 ms109 ms98 ms66 ms
Jakarta38 ms109 ms115 ms74 ms
Sydney101 ms132 ms146 ms141 ms
Osaka75 ms32 ms47 ms65 ms
Busan85 ms44 ms24 ms71 ms

Messmethode: durchschnittliche ICMP-Round-Trip-Zeit, 100 aufeinanderfolgende Messungen pro Verbindung, abends an Werktagen über einen privaten Breitbandanschluss. Die Werte dienen nur der Vorauswahl eines Standorts. Sie können sich je nach Internetanbieter und Verbindung ändern und ersetzen keine Messung mit der tatsächlichen Instanz von Ihrem Arbeitsort aus.

01 / Standortwahl

Am Hauptstandort des Teams messen

Vergleichen Sie zunächst wiederholte Pings zur tatsächlichen Instanz und achten Sie dann auf Paketverluste und Schwankungen. Wenn Ihr Team an mehreren Standorten arbeitet, orientieren Sie sich vor allem an den Personen, die am häufigsten den Remotedesktop nutzen oder die Inferenzschnittstelle aufrufen – nicht nur an der geografischen Nähe.

02 / Synchronisierung

Große Dateien außerhalb der Spitzenzeiten übertragen

Modellgewichte, Mediendateien und Build-Caches lassen sich inkrementell synchronisieren. Planen Sie umfangreiche Übertragungen für verkehrsarme Zeiten und setzen Sie fehlgeschlagene Übertragungen fort. Wenn VNC bei der Bedienung ruckelt, prüfen Sie auch, ob eine Synchronisierung im Hintergrund den Upload auslastet.

03 / Skalierung

Bei Bedarf mehrere Rechner koppeln

Die Kopplung über Thunderbolt 5 eignet sich für Workflows, die tatsächlich die Zusammenarbeit mehrerer Rechner nutzen können. Sie fasst den gemeinsam genutzten Arbeitsspeicher einzelner Rechner nicht automatisch zu einem Speicherpool für ein Modell zusammen. Prüfen Sie vor der Konfiguration die Softwarearchitektur.

07 / Fehlerbehebung und Support

Mit vollständigen Angaben schneller helfen als mit „Verbindung geht nicht“

Melden Sie Probleme mit einer Instanz oder Bestellung über ein Support-Ticket in der Konsole. Prüfen Sie vor dem Absenden Ihr lokales Netzwerk, den Instanzstatus, die Verbindungsmethode und den Zeitpunkt des Fehlers. Fügen Sie Screenshots oder Protokollen keine privaten Schlüssel, vollständigen Tokens oder ungeschwärzten vertraulichen Daten bei.

Vier hilfreiche Angaben

  • 01Bestellung und StandortBestellnummer, Standort der Instanz – Singapur, Tokio, Seoul oder Hongkong – und betroffener Dienst.
  • 02Vorgehen und FehlermeldungAusgeführter Befehl, vollständige Fehlermeldung, Schritte bis zum Fehler und gegebenenfalls geschwärzte Screenshots.
  • 03Zeitpunkt und UmfangWann das Problem erstmals auftrat, ob es weiterhin besteht und ob nur ein Teammitglied betroffen ist.
  • 04Bereits durchgeführte PrüfungenErgebnisse der Prüfung von Instanzstatus, Schlüsselberechtigungen, Port, Tunnel und lokalem Netzwerk.

Nächste Schritte

Melden Sie sich in der Konsole an und erstellen Sie beim betreffenden Auftrag oder der Instanz ein Support-Ticket mit den Ergebnissen Ihrer Prüfung. Fragen zur Auswahl vor einer Bestellung können Sie per E-Mail an support@xcodeops.comsenden. Probleme mit bestehenden Instanzen melden Sie am besten per Ticket, damit Bestellung und Standort direkt zugeordnet werden können.

Bereit für die Einrichtung

Standort auswählen und den ersten Befehl ausführen

Drei Tarife für dedizierte Mac mini, abgerechnet pro Tag, Woche, Monat oder Quartal. Wählen Sie zuerst das Modell und danach anhand eigener Netzwerkmessungen den Standort. Sobald die Instanz bereitgestellt ist, starten Sie mit den Verbindungsschritten auf dieser Seite.