Backend that provisions per-user OpenCode + Gitea Docker pair via
dockerode and exposes the Grow Agent / sub-agent Rivet Kit actors
described in the PRD. Sub-agent workflows route through the parent
Grow Agent's OpenCode Docker.
- src/docker/manager.ts spawns growqr-gitea-<userId> and growqr-opencode-<userId>
- src/actors/{grow-agent,sub-agent,registry}.ts: Rivet Kit actors
- src/routes/{actors,opencode,git}.ts: PRD section 5.2-5.4 HTTP API
- docker-compose.yml runs rivet-engine + backend (mounts host Docker socket)
- PRD updated to lock in per-user OpenCode/Gitea Docker topology
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
21 lines
630 B
Plaintext
21 lines
630 B
Plaintext
PORT=4000
|
|
LOG_LEVEL=info
|
|
|
|
# Rivet Kit engine (self-hosted in docker-compose)
|
|
RIVET_ENDPOINT=http://localhost:6420
|
|
|
|
# Docker images used for per-user containers
|
|
GITEA_IMAGE=gitea/gitea:1.22
|
|
OPENCODE_IMAGE=ghcr.io/sst/opencode:latest
|
|
|
|
# Host where spawned containers expose their ports (usually localhost in dev)
|
|
USER_CONTAINER_HOST=127.0.0.1
|
|
|
|
# Workspace root on the host that gets bind-mounted into per-user containers.
|
|
# Each user gets a subdir: ${USER_DATA_ROOT}/<userId>/{gitea,workspace}
|
|
USER_DATA_ROOT=./.data/users
|
|
|
|
# Port range allocated to spawned per-user containers
|
|
USER_PORT_RANGE_START=20000
|
|
USER_PORT_RANGE_END=29999
|