Before you begin
The development environment is deliberately reproducible.
dam.rs uses mise for the Rust, Node, PostgreSQL client and media toolchain versions. Docker runs PostgreSQL with pgvector and SeaweedFS, the local S3-compatible object store.
You need mise, Docker with Compose, and enough disk space for images, build output and local object storage. The repository does not assume a globally installed Rust or Node version.
Install and seed
- 01
Install the pinned dependencies
Run mise from the repository root. It installs the versions described by the project rather than whatever happens to be on the machine.
- 02
Start PostgreSQL and object storage
The development Compose file starts the services and health checks expected by the API and worker.
- 03
Create the development tenant
The seed task migrates the database and prints a development API key once. Treat the key as a credential even though it belongs only to the local stack.
mise install
mise run up
mise run dev:seedStart the three processes
Keep each long-running process in its own terminal.
mise run dev:apimise run dev:workermise run dev:webConnect and verify
Open the URL printed by Vite, go to Settings, and paste the key from dev:seed. The development client keeps that key in this browser only.
Visit Assets after connecting. A new tenant is expected to be empty. Upload a small image and watch it move from the upload queue into the grid; that proves the API, object store, worker, derivative path and search index are all participating.
curl -fsS http://127.0.0.1:8080/health
curl -fsS http://127.0.0.1:8080/ready