Skip to content

Run Orilla locally

From a repository clone, you need Node.js 22.12 or later, pnpm 11, FFmpeg/FFprobe with libx264 and AAC, and Podman Compose or Docker Compose. Use .nvmrc for the project’s verified version. Public Astro sites require Node.js 22.22 or later.

Terminal window
pnpm install --frozen-lockfile
pnpm setup:local
podman-compose --env-file .local/compose.env up -d
pnpm migrate
pnpm bootstrap
pnpm bootstrap:dashboard

With Docker, replace the infrastructure command with docker compose --env-file .local/compose.env up -d. Wait for PostgreSQL and SeaweedFS to be available before migrating.

bootstrap creates a new workspace every time: run it once for initial setup. bootstrap:dashboard preserves an existing account and stores initial credentials under .local/ with restricted permissions.

Open one terminal per process, from the root:

Terminal window
pnpm dev:api
Terminal window
pnpm dev:worker
Terminal window
pnpm dev:web

To deliver webhooks, also start pnpm dev:webhooks. The API and workers read the generated local configuration; they do not automatically load an arbitrary .env file.

Service Address
Dashboard http://127.0.0.1:5178
API http://127.0.0.1:4321
API Swagger http://127.0.0.1:4321/docs
Landing page http://127.0.0.1:5180 with pnpm dev:site
Documentation http://127.0.0.1:5181 with pnpm dev:docs

The public sites run independently of the API and workers.

Stop processes with Ctrl+C. podman-compose --env-file .local/compose.env down stops the infrastructure and preserves volumes. Do not add -v if you need to keep the data.

Files under .local/ contain private configuration and credentials. Do not include them in commits, screenshots, or public documentation.