Skip to content

Docker / self-host image (convergence + publish layer over #976-982) #1029

Description

@JSONbored

Part of #983.

Context

The locked goal includes the docker/self-host image as part of the single project. reviewbot already SHIPPED the building blocks: src/server.ts (Node entry running the same Worker handlers via createSelfHostAdapters), Dockerfile, docker-compose.yml (7-service stack), src/platform/selfhost/* (postgres-storage + pg-dialect, sqlite-storage, queue, vector, blob, inference, lock, provider, subscription-inference for Claude-Code/Codex), migrations-postgres/, and docs/SELF_HOSTING.md — all structurally complete but INTEGRATION-UNVALIDATED (need a real container run). This is the convergence+PUBLISH layer that folds that runtime into gittensory as the published image. The self-host roadmap #976 (portability), #977 (storage adapters), #978 (AI provider seam), #979 (subscription AI), #980 (docker image), #981 (config/secrets/onboarding), #982 (self-host dashboard) own the adapter MECHANICS — REFERENCE them, do NOT duplicate.

Deliverables

  • Fold reviewbot's self-host runtime into gittensory: server.ts Node entry, Dockerfile, docker-compose.yml, the platform-adapter seam, Postgres storage + a drizzle pg dialect, the selfhost adapters (blob/browser/inference/lock/queue/vector), and subscription-inference (Claude-Code/Codex).
  • Migrate gittensory's direct env.DB/env.JOBS/env.AI usage to env.platform.adapters (behavior-preserving; gittensory already uses drizzle, so the pg dialect is more tractable).
  • Rename all reviewbot-> gittensory identifiers throughout the self-host stack (binding names, queue names, metric prefixes reviewbot_*, /data paths, container names, DB name).
  • Run a REAL container smoke test (Postgres/Redis/Qdrant/Ollama/MinIO) — the self-host deliverable cannot be claimed done on structurally-complete-but-unvalidated adapters.
  • Publish the gittensory self-host image; update SELF_HOSTING.md.
  • REFERENCE Runtime portability layer (serverless → portable Node core) #976-982 for adapter mechanics (do not duplicate their scope here).

Acceptance criteria

  • A single published gittensory image builds and runs self-host; a real multi-service container smoke test passes (not just unit tests).
  • gittensory's core consumes env.platform.adapters, not raw bindings; all reviewbot identifiers are renamed.
  • This issue references, and does not duplicate, roadmap Runtime portability layer (serverless → portable Node core) #976-982.

Notes

Sub-issues

Metadata

Metadata

Assignees

Labels

maintainer-onlyOwner-only work — yields no Gittensor points.roadmapOn the Wave-2 agent-layer roadmap board (project 9)

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions