This repository ships a GitHub-safe public bundle where NovelClaw is the main product route, while Portal and MultiAgent remain support layers around it.
/->Portalpublic entry/multiagent/-> optionalMultiAgentsupport workspace/claw/-> mainNovelClawwriting workspace
If you are deploying this stack for actual use, /claw/ should be treated as the main application route.
infra/nginx/novelclaw.current.confinfra/systemd/novelclaw-portal.serviceinfra/systemd/novelclaw-multiagent.serviceinfra/systemd/novelclaw.serviceinfra/env/auth-portal.env.templateinfra/env/multiagent.env.templateinfra/env/novelclaw.env.template
/opt/novelclaw/
|-- .venv/
`-- apps/
|-- auth-portal/
|-- multiagent/
`-- novelclaw/
/etc/novelclaw/
|-- auth-portal.env
|-- multiagent.env
`-- novelclaw.env
The provided systemd units already expect:
- code under
/opt/novelclaw - env files under
/etc/novelclaw - the Python environment at
/opt/novelclaw/.venv
At minimum, upload:
apps/infra/scripts/if you want the helper scripts available on the serverREADME.md,RUN_LOCAL_WEB.md, andDEPLOYMENT.mdif you want operator docs on the host
Do not upload restored runtime data, local .env files, or private snapshots.
cd /opt/novelclaw
python3 -m venv .venv
./.venv/bin/pip install --upgrade pip setuptools wheel
./.venv/bin/pip install -r apps/auth-portal/requirements.txt
./.venv/bin/pip install -r apps/multiagent/requirements.txt
./.venv/bin/pip install -r apps/multiagent/local_web_portal/requirements.txt
./.venv/bin/pip install -r apps/novelclaw/requirements.txt
./.venv/bin/pip install -r apps/novelclaw/local_web_portal/requirements.txtsudo mkdir -p /etc/novelclaw
sudo cp infra/env/auth-portal.env.template /etc/novelclaw/auth-portal.env
sudo cp infra/env/multiagent.env.template /etc/novelclaw/multiagent.env
sudo cp infra/env/novelclaw.env.template /etc/novelclaw/novelclaw.envThen edit the copied files and fill in:
- real domain and public URLs
- session secret and encryption key
- database URLs
- API keys or provider settings
APP_BASE_PATHvalues that match your deployed routes
sudo cp infra/systemd/*.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable novelclaw-portal.service
sudo systemctl enable novelclaw-multiagent.service
sudo systemctl enable novelclaw.service
sudo systemctl restart novelclaw-portal.service
sudo systemctl restart novelclaw-multiagent.service
sudo systemctl restart novelclaw.serviceCopy infra/nginx/novelclaw.current.conf, then edit:
server_name- TLS certificate paths if HTTPS is enabled
- any upstream or reverse-proxy details required by your host
The provided route model already maps:
/to port8010/multiagent/to port8011/claw/to port8012
sudo systemctl restart nginxAfter deployment, verify:
/opens the public entry page./claw/opens the main NovelClaw workspace./multiagent/opens only if you intend to expose the support workspace.- API key saving, chat session creation, and run creation all work inside NovelClaw.
- run artifacts are being written to the configured directories.
- Keep secrets outside the repository.
- Do not commit or upload local
.envfiles created during preview. - Do not publish runtime databases, snapshot restores, or local key material.
- Treat the repository templates as placeholders only; they do not contain production-ready values.