Demo Setup
Try Observer with a fully populated database in under 5 minutes. The seed command fills the database with realistic test data — people, projects, support records, migration history, households, and more — so you can explore every feature without entering data by hand.
Quick start
git clone https://github.com/lbrty/observer.git
cd observer
just build
./observer setup
docker compose up -d
./observer migrate up
./observer seed
./observer serveOpen http://localhost:9000/health — you should see {"status":"healthy"}.
Start the web interface:
cd packages/observer-web
bun install
bun run devOpen http://localhost:5173 and log in with admin@example.com / password.
What the seed command creates
| What | Details |
|---|---|
| Reference data | Countries, states, places, offices, categories |
| Users | Admin + staff accounts, all with password password |
| Projects | 2 projects (configurable with --projects) |
| People | 50 per project (configurable with --people) |
| Support records | Consultation records linked to people |
| Migration records | Movement history with origin/destination places |
| Households | Family groupings with members |
| Notes | Case notes attached to people |
| Pets | Pet records with tags |
| Tags | Project-scoped labels for categorization |
Default credentials
| Password | Role | |
|---|---|---|
admin@example.com | password | Admin |
Custom seed options
# More projects and people
./observer seed --projects 5 --people 200
# Reproducible data (same seed = same output)
./observer seed --seed 42Step-by-step breakdown
1. Build
just buildCompiles the observer binary.
2. Setup
./observer setupCreates .env with sensible defaults, keys/ and data/uploads/ directories, and generates a 4096-bit RSA key pair for JWT signing. If .env already exists, it will ask before overwriting.
3. Start services
docker compose up -dStarts PostgreSQL and Redis in the background.
4. Migrate
./observer migrate upApplies all database migrations.
5. Seed
./observer seedFills the database with demo data. This is the step that makes the difference between a blank instance and a working demo you can show to stakeholders.
6. Run
./observer serveStarts the API server on http://localhost:9000.
7. Frontend (optional)
cd packages/observer-web
bun install
bun run devStarts the web interface on http://localhost:5173.
Reset
To wipe everything and start fresh:
docker compose down -vThen re-run from step 3.