Replace PGlite with embedded-postgres and add startup banner

Switch from PGlite (WebAssembly) to embedded-postgres for zero-config
local development — provides a real PostgreSQL server with full
compatibility. Add startup banner with config summary on server boot.
Improve server bootstrap with auto port detection, database creation,
and migration on startup. Update DATABASE.md, DEVELOPING.md, and
SPEC-implementation.md to reflect the change. Update CLI database
check and prompts. Simplify OnboardingWizard database options.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Forgotten
2026-02-18 11:45:43 -06:00
parent 0d436911cd
commit cc24722090
18 changed files with 738 additions and 101 deletions

View File

@@ -19,14 +19,14 @@ pnpm dev
This starts:
- API server: `http://localhost:3100`
- UI: `http://localhost:5173`
- UI: served by the API server in dev middleware mode (same origin as API)
## Database in Dev (Auto-Handled)
For local development, leave `DATABASE_URL` unset.
The server will automatically use embedded PGlite and persist data at:
The server will automatically use embedded PostgreSQL and persist data at:
- `./data/pglite`
- `./data/embedded-postgres`
No Docker or external database is required for this mode.
@@ -49,10 +49,10 @@ Expected:
To wipe local dev data and start fresh:
```sh
rm -rf data/pglite
rm -rf server/data/embedded-postgres
pnpm dev
```
## Optional: Use External Postgres
If you set `DATABASE_URL`, the server will use that instead of embedded PGlite.
If you set `DATABASE_URL`, the server will use that instead of embedded PostgreSQL.