Skip to content

Commit 9e62c6b

Browse files
committed
docs(docker): promote install script to Option 1, reorder install paths
Self-hosters skimming DOCKER_README.md hit the first install option they see, so burying the one-command install script at Option 3 was leaving the easiest path on the table. This PR reorders the Installation section to lead with the script and demote the manual paths: - Option 1: Quickstart install script (recommended) — lead with the one-shot bash <(curl ...) command; follow with the review-first flow for audit-minded users. - Option 2: Docker Compose (manual) — unchanged content, relabeled "manual" so the contrast with the script is explicit. Adds an explicit "generate a secret and paste it over the placeholder" step that mirrors what the install script does for you. - Option 3: Docker Run (bring your own PostgreSQL) — unchanged. Also adds a one-line intro under the Installation heading noting that all three paths converge on the setup wizard, and updates the table of contents anchors to match the new headings. No code changes. Full test suite still green locally (backend 181 suites / 3507 tests, frontend 105 files / 2103 tests, backend e2e 15 suites / 107 tests, both tsc clean).
1 parent 0454d8c commit 9e62c6b

File tree

1 file changed

+35
-31
lines changed

1 file changed

+35
-31
lines changed

docker/DOCKER_README.md

Lines changed: 35 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ Manifest is a smart model router for **personal AI agents** like OpenClaw, Herme
3131
- [Supported providers](#supported-providers)
3232
- [Manifest vs OpenRouter](#manifest-vs-openrouter)
3333
- [Installation](#installation)
34-
- [Option 1: Docker Compose (recommended)](#option-1-docker-compose-recommended)
35-
- [Option 2: Docker Run (bring your own PostgreSQL)](#option-2-docker-run-bring-your-own-postgresql)
36-
- [Option 3: One-command install script](#option-3-one-command-install-script)
34+
- [Option 1: Quickstart install script (recommended)](#option-1-quickstart-install-script-recommended)
35+
- [Option 2: Docker Compose (manual)](#option-2-docker-compose-manual)
36+
- [Option 3: Docker Run (bring your own PostgreSQL)](#option-3-docker-run-bring-your-own-postgresql)
3737
- [Verifying the image signature](#verifying-the-image-signature)
3838
- [Custom port](#custom-port)
3939
- [Image tags](#image-tags)
@@ -60,25 +60,49 @@ Works with 300+ models across OpenAI, Anthropic, Google Gemini, DeepSeek, xAI, M
6060

6161
## Installation
6262

63-
### Option 1: Docker Compose (recommended)
63+
Three paths, ordered from fastest to most hands-on. All three end in the same place: a running stack that walks you through the **setup wizard** at [http://localhost:3001](http://localhost:3001) to create your admin account.
6464

65-
Runs Manifest with a PostgreSQL database. One command.
65+
### Option 1: Quickstart install script (recommended)
66+
67+
One command. The script downloads `docker/docker-compose.yml`, generates a fresh `BETTER_AUTH_SECRET` and injects it into the compose file, brings up the stack, and waits for the healthcheck to go green.
68+
69+
```bash
70+
bash <(curl -sSL https://raw.githubusercontent.com/mnfst/manifest/main/docker/install.sh)
71+
```
72+
73+
Prefer to audit before running? Download, read, then execute:
74+
75+
```bash
76+
curl -sSLO https://raw.githubusercontent.com/mnfst/manifest/main/docker/install.sh
77+
less install.sh
78+
bash install.sh
79+
```
80+
81+
Flags: `--dir <path>` (install into a custom directory, defaults to `./manifest`), `--dry-run` (print what would happen without touching anything), `--yes` (skip the confirmation prompt).
82+
83+
### Option 2: Docker Compose (manual)
84+
85+
Same underlying flow as the install script, but you drive it yourself so you can edit the compose file before booting the stack.
6686

6787
1. Download the compose file:
6888

6989
```bash
7090
curl -O https://raw.githubusercontent.com/mnfst/manifest/main/docker/docker-compose.yml
7191
```
7292

73-
2. Start it:
93+
2. Generate a secret and paste it over the `BETTER_AUTH_SECRET` placeholder in `docker-compose.yml`:
7494

7595
```bash
76-
docker compose up -d
96+
openssl rand -hex 32
7797
```
7898

79-
3. Open [http://localhost:3001](http://localhost:3001). The **setup wizard** walks you through creating the first admin account — pick your own email and password (min 8 chars). No hardcoded credentials.
99+
3. Start it:
80100

81-
4. Connect a provider on the Routing page and you're set.
101+
```bash
102+
docker compose up -d
103+
```
104+
105+
4. Open [http://localhost:3001](http://localhost:3001) and complete the setup wizard.
82106

83107
To stop:
84108

@@ -87,7 +111,7 @@ docker compose down # keeps data
87111
docker compose down -v # deletes everything
88112
```
89113

90-
### Option 2: Docker Run (bring your own PostgreSQL)
114+
### Option 3: Docker Run (bring your own PostgreSQL)
91115

92116
If you already have PostgreSQL running, pick the command for your shell.
93117

@@ -140,27 +164,7 @@ docker run -d ^
140164

141165
</details>
142166

143-
`AUTO_MIGRATE=true` runs TypeORM migrations on first boot. Then visit http://localhost:3001 and complete the setup wizard to create your admin account.
144-
145-
### Option 3: One-command install script
146-
147-
Downloads the compose file, generates a `BETTER_AUTH_SECRET`, writes it into the compose file (replacing the placeholder), and brings up the stack. Prompts before making changes; supports `--dry-run`.
148-
149-
**Review before running** (recommended):
150-
151-
```bash
152-
curl -sSLO https://raw.githubusercontent.com/mnfst/manifest/main/docker/install.sh
153-
less install.sh
154-
bash install.sh
155-
```
156-
157-
**One-shot** (if you trust the source):
158-
159-
```bash
160-
bash <(curl -sSL https://raw.githubusercontent.com/mnfst/manifest/main/docker/install.sh)
161-
```
162-
163-
Flags: `--dir <path>` (install into a custom directory, defaults to `./manifest`), `--dry-run` (print what would happen without touching anything), `--yes` (skip the confirmation prompt).
167+
`AUTO_MIGRATE=true` runs TypeORM migrations on first boot. Then visit [http://localhost:3001](http://localhost:3001) and complete the setup wizard to create your admin account.
164168

165169
### Verifying the image signature
166170

0 commit comments

Comments
 (0)