Skip to main content
Replace all placeholder secrets before going public.
1

Copy the environment file

cp .env.example .env
Set at least:
Auth__Jwt__Secret=replace-with-a-strong-random-secret-32chars-min
Auth__BootstrapSuperAdmin__Username=admin
Auth__BootstrapSuperAdmin__Password=replace-with-a-strong-password
FRONTEND_VITE_API_BASE_URL=http://localhost:5121
Enable API keys if you plan to use MCP or scripts:
Auth__ApiKey__Enabled=true
Auth__ApiKey__Keys__0=replace-with-a-strong-random-api-key
2

Start the stack

docker compose up -d --build
3

Verify the backend

curl http://localhost:5121/api/v1/system/ping
curl http://localhost:5121/api/v1/system/bootstrap
bootstrap returns runtime config such as apiKeyRequired, maxUploadSizeBytes, and allowedContentTypes. It does not confirm whether a SuperAdmin was created.
4

Log in

Open http://localhost:5173/login and sign in with the bootstrap credentials from .env.
5

Upload your first image

Open http://localhost:5173/assets, upload an image, and optionally make it public.
6

Browse the gallery

Next steps

Deployment

Production topology, reverse proxies, domains, and HTTPS.

Storage providers

Local, S3-compatible, and GitHub Repo storage options.