Installation
Stand up a single-tenant Sereal instance with Docker and Supabase.
Sereal self-hosts as a Next.js app (Docker) backed by a Supabase project
(Postgres + Auth + Storage). This page is the operational summary; the
authoritative, step-by-step guide — including troubleshooting and known
unsupported paths — lives in
INSTALL.md in the
repo.
The install guide is a first-pass draft until it has been walked end-to-end on a clean machine. Expect rough edges, and prefer
INSTALL.mdas the source of truth if this page and it ever disagree.
What you need
- Docker with
docker compose - Node.js 22+ and npm — only for the Supabase CLI and the one-off owner bootstrap script, not at runtime
- A Supabase project — Supabase Cloud (free tier is enough for a personal collection) or your own self-hosted Supabase
- An eBay developer app — optional, only for deal-watching, Scout, and comp lookup. Collection, spend, sold, and grading all work without it.
The shape of an install
- Create a Supabase project and note its URL, project ref, anon key, service-role key, and database password.
- Clone the repo and apply migrations with the Supabase CLI
(
supabase link→supabase db push --linked), then verify withnpm run check:migrations— you wantMigration parity OK. - Configure
.env.localfrom.env.example— see Configuration for what each variable does. - Bootstrap the owner account with
supabase/bootstrap-owner.ts(dry run first, then--confirm). A database trigger seeds per-tenant defaults like the vendor list. - Build and start with
docker compose up -d --build. - Verify with the health check, then log in as the owner.
Confirm it came up
curl -sf http://localhost:3000/api/health | jq .A healthy instance returns:
{ "ok": true, "checks": { "app": "ok", "env": "ok", "database": "ok" } }env: fail→ a variable in.env.localis missing or empty.database: fail→ the app can't reach Supabase; re-check the URL and the service-role key.
Then open http://localhost:3000, sign in with your owner credentials, and you
land on an empty dashboard. Continue with Configuration
and Deployment.