@@ -31,13 +31,13 @@ Works with 300+ models across OpenAI, Anthropic, Google Gemini, DeepSeek, xAI, M
3131
3232## Manifest vs OpenRouter
3333
34- | | Manifest | OpenRouter |
35- | ------------ | -------------------------------------------- | --------------------------------------------------- |
36- | Architecture | Local. Your requests, your providers | Cloud proxy. All traffic goes through their servers |
37- | Cost | Free | 5% fee on every API call |
38- | Source code | MIT, fully open | Proprietary |
39- | Data privacy | Metadata only (cloud) or fully local | Prompts and responses pass through a third party |
40- | Transparency | Open scoring. You see why a model was chosen | No visibility into routing decisions |
34+ | | Manifest | OpenRouter |
35+ | ------------ | ---------------------------------------------------- | --------------------------------------------------- |
36+ | Architecture | Your Manifest instance forwards to your providers | Cloud proxy. All traffic goes through their servers |
37+ | Cost | Free | 5% fee on every API call |
38+ | Source code | MIT, fully open | Proprietary |
39+ | Data privacy | Metadata only (Cloud), no middleman (self-hosted) | Prompts and responses pass through a third party |
40+ | Transparency | Open scoring. You see why a model was chosen | No visibility into routing decisions |
4141
4242---
4343
@@ -89,22 +89,6 @@ docker run -d \
8989
9090` NODE_ENV=development ` makes migrations run on startup. Without it you'd need to run them manually.
9191
92- ### Option 3: Local mode (no database)
93-
94- For quick testing. Uses SQLite in-memory -- data goes away when the container stops unless you mount a volume.
95-
96- ``` bash
97- docker run -d \
98- -p 3001:3001 \
99- -e MANIFEST_MODE=local \
100- -e BETTER_AUTH_SECRET=$( openssl rand -hex 32) \
101- -e MANIFEST_TRUST_LAN=true \
102- -v manifest-data:/home/node/.openclaw/manifest \
103- manifestdotbuild/manifest
104- ```
105-
106- Local mode skips the login page. The dashboard is accessible directly.
107-
10892### Verifying the image signature
10993
11094Published images are signed with cosign keyless signing (Sigstore). Verify before pulling:
@@ -141,12 +125,11 @@ If you see "Invalid origin" on the login page, `BETTER_AUTH_URL` doesn't match t
141125
142126| Variable | Required | Default | Description |
143127|----------|----------|---------|-------------|
144- | `DATABASE_URL` | Yes (cloud mode) | -- | PostgreSQL connection string |
128+ | `DATABASE_URL` | Yes | -- | PostgreSQL connection string |
145129| `BETTER_AUTH_SECRET` | Yes | -- | Session signing secret (min 32 chars) |
146130| `BETTER_AUTH_URL` | No | `http://localhost:3001` | Public URL. Set this when using a custom port |
147131| `PORT` | No | `3001` | Internal server port |
148132| `NODE_ENV` | No | `production` | Set `development` for auto-migrations |
149- | `MANIFEST_MODE` | No | `cloud` | `cloud` (PostgreSQL) or `local` (SQLite) |
150133| `SEED_DATA` | No | `false` | Seed demo data on startup |
151134| `MANIFEST_TRUST_LAN` | No | `false` | Trust private network IPs (needed in Docker) |
152135
0 commit comments