-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrender.yaml
More file actions
58 lines (58 loc) · 2.76 KB
/
Copy pathrender.yaml
File metadata and controls
58 lines (58 loc) · 2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Render Blueprint — deploys nanobot's gateway + bundled WebUI as one web service.
# Secrets are provided at deploy time as env vars (sync: false) and resolved at
# runtime via the ${VAR} placeholders in render-config.json. Nothing secret is
# stored in this repo.
services:
- type: web
name: nanobot
runtime: docker
dockerfilePath: ./Dockerfile
dockerContext: .
# Render's Docker Command REPLACES the Dockerfile ENTRYPOINT (it is not
# appended to it), so invoke the entrypoint explicitly. The entrypoint
# prepares the mounted disk, drops to the non-root user when permitted, and
# copies the selected config template onto the disk
# (render-config.json normally, or render-demo-config.json when DEMO is
# true) at $HOME/.nanobot/config.json — so the runtime data_dir lands on the
# persistent disk. It appends the --config flag itself, so pass only
# `gateway` here.
dockerCommand: /usr/local/bin/entrypoint.sh gateway
plan: starter
healthCheckPath: /
envVars:
# Anthropic API key — powers the agent's LLM calls. Get one at
# https://console.anthropic.com/settings/keys
- key: ANTHROPIC_API_KEY
sync: false
# WebUI access secret — the gate for the public WebUI. Generate a strong
# random value (e.g. `openssl rand -hex 32`) and keep it private.
- key: NANOBOT_WEB_TOKEN
sync: false
# Port Render routes public traffic to; matches channels.websocket.port
# in render-config.json.
- key: PORT
value: 8765
# DEMO mode (optional, default off). Set to "true" to run the hosted,
# unauthenticated, locked-down demo (chat-only: no shell/file/subagent/
# MCP/cron/image-gen; web search/fetch stays on). Forks should leave this
# false/unset to keep full auth via NANOBOT_WEB_TOKEN. Not a secret.
- key: DEMO
value: "false"
# Demo abuse controls (only apply when DEMO=true). Plain, non-secret
# values. Set to 0 to disable a limit. See README → "DEMO mode".
# Messages per minute, per WebSocket connection.
- key: DEMO_RATE_LIMIT_PER_MINUTE
value: 10
# Total messages per browser session (each browser gets its own session).
- key: DEMO_MAX_MESSAGES_PER_SESSION
value: 30
# Persist sessions, memory, and the WebUI display transcripts across deploys.
# The entrypoint copies the config onto this mount, so nanobot's runtime
# data_dir (config_path.parent) resolves here too — keeping webui/ (chat
# history the UI renders), cron, media, and logs durable, not just session
# files. Starter / 1 GB is the lean default; history persistence needs this
# disk, not a bigger plan.
disk:
name: nanobot-data
mountPath: /home/nanobot/.nanobot
sizeGB: 1