Getting started¶
There are three ways to run FigureCollector:
- Local dev — fastest iteration. Postgres + Garage in Docker, backend with
cargo run, frontend withpnpm dev. - Fully containerised dev — same images as production, slower rebuilds, matches the deploy environment exactly.
- Production deployment — Traefik-fronted compose stack with TLS + secrets.
If you just want to try it on your laptop, jump to local dev.
If you want to deploy it for your collection long-term, read production and hardening.
Prerequisites¶
| Tool | Minimum | Why |
|---|---|---|
| Docker (with BuildKit) | recent | All runtime services + container builds |
Rust (rustup) |
≥ 1.95 | Backend dev mode |
| Node + pnpm (via corepack) | Node 24 / pnpm 9+ | Frontend dev mode |
Postgres, Garage (S3), the Rust backend image and the nginx frontend image are all produced from the repo — no external services required.
First boot checklist¶
- Clone the repo and
cdinto it. - Bring up Postgres + Garage:
docker compose up -d postgres garage - Run the Garage one-time init to mint S3 credentials.
- Configure
.env:cp server/.env.example server/.envand paste your Garage keys. - Start the backend:
cd server && cargo run - Start the frontend:
cd client && pnpm install && pnpm dev - Open http://localhost:5173 and sign up.
That's it. The catalogue is empty by default — start by adding a figure manually or pasting an MFC / AniList URL.