############################################################################### # Zopu Runtime Deployment — Environment Template # # Copy to .env and fill in real values. Never commit .env to the repository. # This file documents every environment group required by the single-node # execution plane. Lines marked REQUIRED must be set before first start. ############################################################################### # --------------------------------------------------------------------------- # 1. Convex (control plane) — REQUIRED # Public URLs for the self-hosted Convex deployment. # --------------------------------------------------------------------------- CONVEX_URL=https://your-deployment.convex.cloud CONVEX_SITE_URL=https://your-deployment.convex.site SITE_URL=http://localhost:13100 VITE_AUTH_URL=http://localhost:13100 VITE_CONVEX_URL=https://your-deployment.convex.cloud VITE_FLUE_URL=http://localhost:3583 VITE_ZOPU_SERVER_URL=http://localhost:3590 # Self-hosted Convex origins used by convex/docker-compose.yml CONVEX_CLOUD_ORIGIN=https://your-deployment.convex.cloud CONVEX_SITE_ORIGIN=https://your-deployment.convex.site CONVEX_INSTANCE_NAME=zopu-production CONVEX_INSTANCE_SECRET= # --------------------------------------------------------------------------- # 2. Model gateway — REQUIRED # All model calls route through this OpenAI-compatible endpoint. # --------------------------------------------------------------------------- AGENT_MODEL_PROVIDER=cheaptricks AGENT_MODEL_NAME=glm-5.2 AGENT_MODEL_API=openai-completions AGENT_MODEL_BASE_URL=https://ai.example.invalid/v1 AGENT_MODEL_API_KEY=replace-with-model-gateway-key AGENT_MODEL_CONTEXT_WINDOW=262000 AGENT_MODEL_MAX_TOKENS=131072 # --------------------------------------------------------------------------- # 3. AgentOS / Rivet Engine — REQUIRED for the execution runner # The runner creates isolated worktrees from ZOPU_SOURCE_REPOSITORY and # connects to AgentOS through the public engine endpoint. # --------------------------------------------------------------------------- RIVET_ENDPOINT=https://default:@rivet.example.com RIVET_PUBLIC_ENDPOINT=https://default@rivet.example.com RIVET_RUNNER_VERSION=1 RIVET_WORKSPACE_TOKEN=replace-with-a-long-random-workspace-token ZOPU_SOURCE_REPOSITORY=/opt/zopu-source # --------------------------------------------------------------------------- # 4. Zopu agent service (Flue) # FLUE_DB_TOKEN authenticates the Flue persistence adapter. # zopu-agent.service pins the Flue Node server to port 3583. # --------------------------------------------------------------------------- FLUE_DB_TOKEN=replace-with-long-random-token AGENT_BACKEND_URL=https://zopu-agent.example.com # --------------------------------------------------------------------------- # 5. Daemon identity # --------------------------------------------------------------------------- DAEMON_ID=zopu-dedicated DAEMON_NAME=Zopu-Dedicated-Server DAEMON_VERSION=0.0.0 DAEMON_HEARTBEAT_MS=15000 DAEMON_COMMAND_LEASE_MS=60000 # --------------------------------------------------------------------------- # 7. Docker sandbox # The zopu service user is added to the docker group during bootstrap. # Orb sandboxes will use Docker for full-system isolation, but the Orb # lane contract has not landed yet. Docker access is provisioned now so # the boundary is ready; no Docker-backed sandbox code is wired today. # --------------------------------------------------------------------------- # No env vars required; Docker socket access is via group membership. # --------------------------------------------------------------------------- # 8. Service authentication / secrets # These tokens authenticate inter-service calls. Generate strong randoms. # --------------------------------------------------------------------------- # Better Auth / Convex JWT secret (if the agent service needs to mint tokens): #AUTH_SECRET=replace-with-64-char-hex # --------------------------------------------------------------------------- # 9. Private networking (Tailscale) — OPTIONAL # When Tailscale is available, set the hostname for private DNS. # --------------------------------------------------------------------------- #TAILSCALE_HOSTNAME=zopu-runtime