- Add server-side auth token loader (auth.server.ts) with SSR cookie forwarding - Add project-requests client for explicit/signal/existing issue dispatch - Refactor auth layout and app layout for SSR auth gating - Update auth-client and auth-provider for convex token flow - Extend project-issue primitives with request result schema - Wire projectIssues backend mutation for request handling - Update slice-one page and project-workspace hook - Adjust routes (remove unused), Caddy config, and env templates
93 lines
4.5 KiB
Plaintext
93 lines
4.5 KiB
Plaintext
###############################################################################
|
|
# 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. Self-hosted Git / Gitea — REQUIRED for issue lifecycle
|
|
# The agent daemon clones repos and creates PRs through Gitea.
|
|
# ---------------------------------------------------------------------------
|
|
GITEA_URL=https://git.openputer.com
|
|
GITEA_TOKEN=replace-with-gitea-api-token
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# 3. 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
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# 4. AgentOS / RivetKit — OPTIONAL (defaults shown)
|
|
# registry.start() in the daemon boots an in-process RivetKit engine
|
|
# (envoy mode) backed by a native Rust sidecar. createClient() connects
|
|
# back to RIVET_ENDPOINT. No separate Rivet Engine process is required
|
|
# for single-node operation. Leave RIVET_ENDPOINT unset to use the
|
|
# library default (http://localhost:6420).
|
|
# ---------------------------------------------------------------------------
|
|
#RIVET_ENDPOINT=http://localhost:6420
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# 5. 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
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# 6. 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
|