Skip to content
Knowledge node5 min referenceUpdated 2026-07-21

Services, public routes, state, and trust boundaries on one page.

  • architecture
  • routes
  • services
  • state

Platform map

Service ownership

ServiceOwnsDoes not own
gatewayTLS, public routing, WebSocketsrepository data or application builds
frontenddiscovery and repository presentationGit history or Space processes
forgejorepositories, auth, permissions, issues, PRs, Actions metadatahost container lifecycle
spaces-runnerSpace validation, clone, build, lifecycle, Pages servinguser identity source
seedidempotent sample/bootstrap datalong-running request handling
maintenance-agentIssue-triggered /goal, evidence gates, guarded mergeunrestricted host control
forgejo-actions-runnerrepository workflows in isolated DinDthe host Docker socket

Public route map

text
https://host/
├─ /models /datasets /spaces /skills /mcps /prompts → frontend
├─ /openface/{repository}                         → frontend repository view
├─ /git/                                          → Forgejo
├─ /run/{owner}/{space}/                          → running Space proxy
├─ /runner-api/                                   → runner control/data API
└─ /pages/{owner}/{repository}/                   → published Pages

State map

  • Forgejo volumes: repositories, users, permissions, issues, PRs, Actions metadata.
  • Runner volumes: registration, shared control token, runtime metadata.
  • Docker: built images, running Space containers, build cache.
  • Git checkout: Compose, frontend, service code, sample definitions, docs—never production secrets.

Trust boundaries

The browser authenticates against Forgejo. The frontend asks the runner to perform privileged lifecycle operations through a shared internal token. The runner validates repository permission before control operations. Agent identities use separate scoped tokens; Claude runs as an unprivileged container user without the host Docker socket or bot credentials.

Released under the MIT License. Third-party components retain their own licenses.