Skip to guide
Deployment/Get started
Self-hosting reference

Local development

Run the web app and worker from source while keeping infrastructure in Docker.

Install and configure

Use Node.js 20 and pnpm 10.15.1. Copy .env.example to .env and configure auth, chat, and embeddings. Point host processes at localhost service ports; Compose hostnames such as db and document-converter only resolve inside the Docker network.

Terminal
corepack enable
corepack prepare pnpm@10.15.1 --activate
pnpm install --frozen-lockfile
docker compose --profile ocr up -d db seaweedfs docling-serve transcription adeu-docs-editing document-converter gotenberg

Use host-reachable endpoints

Use the POSTGRES_PASSWORD from your Compose setup in the connection string. Copy the corresponding service keys from .env and keep them identical on the clients and service containers.

.env · host-run processes
DATABASE_URL=postgresql://postgres:your-password@localhost:5433/pdr_ai_v2
BETTER_AUTH_URL=http://localhost:3000
APP_PUBLIC_URL=http://host.docker.internal:3000
TRANSCRIPTION_SERVICE_URL=http://localhost:8000
DOCUMENT_CONVERTER_URL=http://localhost:8002
ADEU_SERVICE_URL=http://localhost:8003
GOTENBERG_SERVICE_URL=http://localhost:8004

host.docker.internal lets Docker Desktop services fetch database-backed files from your host. Linux hosts need an equivalent host-gateway mapping. Allow that exact origin in the converter/editing fetch allowlists. Use a browser-reachable APP_PUBLIC_URL when testing OAuth callbacks.

Migrate, then run both processes

The web migration command applies engine and product SQL. Run the web app and worker in separate terminals; a web server alone will not process document jobs.

Terminal 1
pnpm --filter @launchstack/web db:migrate
pnpm --filter @launchstack/web db:verify
pnpm --filter @launchstack/web dev

Start the worker

The worker reads the same provider and database configuration. Use the separate public-site development command only when working on the marketing website.

Terminal 2
pnpm --filter @launchstack/worker dev
Deployment Guide — Self-Host Launchstack | Launchstack