Claude Code Self-hosted Runner
Der Standardweg in Artifacture ist ein Assistent auf deinem eigenen Rechner (siehe Claude Code) oder ein gemanagter Pod, den Artifacture für dich startet. Diese Seite beschreibt einen dritten, fortgeschrittenen Weg: eine eigene, dauerhaft laufende KI-Persona, die für genau ein Projekt arbeitet — mit eigenem GitHub-Account, eigenem Claude-Cloud-Environment und einem eigenen Railway-Dienst.
Für wen das ist
Nicht der Standardweg, und für die meisten Projekte auch nicht nötig — der gemanagte Pod-Betrieb deckt das ab, ohne dass du einen Railway-Dienst oder ein GitHub-Fine-grained-Token anlegen musst. Diese Seite ist für Teams, die eine Persona wollen, die dauerhaft läuft, aus claude.ai (Web, Desktop, App) ansprechbar ist statt nur bei zugewiesener Arbeit, und deren Zugriff sie selbst kapseln und jederzeit abschalten können.
Was es ist
Ein Container auf Railway, auf dem Claude-Code-Sessions laufen, sobald sie aus claude.ai gestartet werden. Jede Session startet direkt im Umbrella deines Projekts, ist über den Artifacture-MCP mit deinem Board verbunden und darf committen und pushen — mit der Git-Identität der Persona, nie mit deiner eigenen.
Eine Persona ist sauber gekapselt: eigener Railway-Dienst, eigener GitHub-Account, eigenes Claude-Cloud-Environment, eigenes AI-Teammate in Artifacture. Nichts davon teilt sie sich mit dir oder einer anderen Persona — das macht sie einzeln einschränkbar und abschaltbar.
Was du dafür brauchst
- Einen Railway-Account mit Zugriff auf dein Artifacture-Projekt
- Rechte, in eurer GitHub-Organisation einen neuen Account einzuladen
- Zugriff auf Cloud environments in eurer Claude-Org
- Admin-Rechte im Artifacture-Projekt, um ein AI-Teammate anzulegen
Einrichtung in sieben Schritten
Die Reihenfolge ist bewusst gewählt: Jedes Secret entsteht genau dann, wenn es gebraucht wird, und wandert direkt in Railway.
- Railway-Dienst anlegen — aus dem Runner-Repository, Volume auf
/workspace, Restart Policy Always, kein Public Networking. Noch nicht deployen: Ohne die drei Pflicht-Variablen (Schritt 5–7) bricht der Start sofort ab. - Eigenen GitHub-Account für die Persona anlegen — keinen persönlichen, keinen geteilten Account. Name und E-Mail als
GIT_USER_NAME/GIT_USER_EMAILin Railway hinterlegen; das steuert, mit welcher Identität committet wird. - Account in eure GitHub-Organisation einladen — als Member, nicht als Owner.
- Schreibzugriff auf genau die Repos des Projekts vergeben — das Umbrella und jedes Sub-Repo, nicht mehr. Am saubersten über ein eigenes Team pro Persona.
- Fine-grained Personal Access Token erstellen — mit dem neuen Account, Ressourcen-Eigentümer die Organisation, Zugriff nur auf die Repos aus Schritt 4, Berechtigung Contents: Read and write. Als
ARTIFACTURE_GIT_TOKENin Railway hinterlegen. Ablaufdatum notieren: Läuft der Token ab, scheitert beim nächsten Neustart das Nachladen des Projekts. - Eigenes Cloud Environment in der Claude-Org anlegen — ein Environment pro Persona, kein geteiltes. Den Environment-Key als
CLAUDE_ENVIRONMENT_SECRETin Railway hinterlegen. Jede Session, die in diesem Environment gestartet wird, läuft auf genau dieser Persona. - AI-Teammate im Artifacture-Projekt anlegen — Nutzer einladen, Art AI Team Member, Name der Persona. Der angezeigte Projekt-Token (
art_…) ist nur einmal sichtbar — sofort alsARTIFACTURE_PROJECT_TOKENin Railway hinterlegen. Die Persona braucht außerdem einen Sitz, sonst landet sie im Zugangs-Gate.
Danach deployen. Board-Items müssen der neuen Persona zugewiesen sein und in einem KI-Schritt stehen — nur dann findet sie Arbeit.
Abschalten
Weil alles gekapselt ist, reicht der Abbau in umgekehrter Reihenfolge: AI Teammate löschen, Cloud Environment entfernen, Token widerrufen, Account aus der Organisation entfernen, Railway-Dienst löschen. Andere Personas bleiben unberührt.
Wenn etwas nicht startet
Die häufigste Ursache: eine der drei Pflicht-Variablen (CLAUDE_ENVIRONMENT_SECRET, ARTIFACTURE_PROJECT_TOKEN, ARTIFACTURE_GIT_TOKEN) fehlt, oder der GitHub-Token ist abgelaufen bzw. noch nicht von der Organisation freigegeben. Die Railway-Logs zeigen in beiden Fällen, an welchem Schritt der Start abbricht.
Weiterwege
- Wie eine Session grundsätzlich arbeitet → Claude Code