Merge MVP startup defaults with memory-db mode + tests

This commit is contained in:
2026-03-01 19:24:59 -05:00
parent 5e27459325
commit e4901f027c
12 changed files with 1131 additions and 89 deletions

View File

@@ -1,7 +1,7 @@
# INSTALL — Mastermind MVP
## Prerequisites
- Docker + Docker Compose
- Docker + Docker Compose (recommended)
- A stable hostname/IP you can reach (LAN or Tailscale)
## Configure
@@ -13,13 +13,14 @@ cp .env.example .env
Edit `.env`:
- `SESSION_SECRET` — set to a long random value
- `BASE_URL` — the URL you use to reach the app (Tailscale IP recommended)
- `BOOTSTRAP_OWNER_EMAIL` / `BOOTSTRAP_OWNER_PASSWORD`defaults are set for local MVP use (`owner@local` / `owner`)
- `BOOTSTRAP_OWNER_EMAIL` / `BOOTSTRAP_OWNER_PASSWORD`one-time local owner login created only when no local identities exist
- Defaults in `.env.example` are set for local MVP use: `owner@local` / `owner`
OAuth is optional for now:
- `GOOGLE_CLIENT_ID/GOOGLE_CLIENT_SECRET`
- `MICROSOFT_CLIENT_ID/MICROSOFT_CLIENT_SECRET`
## Start
## Start (Docker Compose)
```bash
docker compose up -d --build
```
@@ -29,10 +30,11 @@ App:
- With the default `.env.example`, that is `http://localhost:3005/login`
## First login (important)
On first run, if no local identities exist, the app creates:
- `owner@local` / `owner` by default from `.env.example`
On first run, if no local identities exist, the app creates the bootstrap local owner from:
- `BOOTSTRAP_OWNER_EMAIL`
- `BOOTSTRAP_OWNER_PASSWORD`
Immediately change it:
Immediately change that password:
- http://<host>:3005/account/password
## Create your first project
@@ -58,3 +60,28 @@ Set `BASE_URL` correctly before authorizing.
```bash
npm test
```
## Direct Node.js run (no Docker, memory DB)
Install dependencies:
```bash
npm ci --prefix web
npm ci --prefix worker
```
Terminal 1:
```bash
cd /path/to/mastermind-mvp
export DATABASE_URL=memory://local
export SESSION_SECRET='replace-with-a-long-random-string'
export BASE_URL='http://localhost:3005'
export BOOTSTRAP_OWNER_EMAIL='owner@local'
export BOOTSTRAP_OWNER_PASSWORD='ChangeMe12345'
npm run start:web
```
Terminal 2:
```bash
cd /path/to/mastermind-mvp
export DATABASE_URL=memory://local
npm run start:worker
```