Docker install
This guide uses deploy/docker/docker-compose.yml in the deploy-dock monorepo (development stack: Postgres, Redis, API, worker).
In this page
Prerequisites
- Docker Engine + Compose plugin
- Repository clone of
deploy-dock - Node 20 + pnpm on the host for
pnpm dev(UI) and Prisma CLI against the DB
Start the stack
From the repository root:
docker compose -f deploy/docker/docker-compose.yml up -d --build
Published ports (see compose file):
- 5432 — PostgreSQL (
panel/panel/panel) - 6379 — Redis
- 4000 — API
Worker runs with PANEL_DRY_RUN=1 in this compose file by default.
Run database migrations
Execute Prisma against the running Postgres (from repo root on host):
DATABASE_URL=postgresql://panel:panel@127.0.0.1:5432/panel pnpm --filter @deploydock/api exec prisma migrate deploy
DATABASE_URL=postgresql://panel:panel@127.0.0.1:5432/panel pnpm --filter @deploydock/api exec prisma db seed
Or run the same commands inside the api container if you prefer.
Run the UI on the host
Compose does not start Vite. From repo root:
cp apps/api/.env.example apps/api/.env
# Point API at dockerized Postgres/Redis; keep PANEL_WEB_ORIGIN for Vite (default 5173)
pnpm install
pnpm dev
Open http://127.0.0.1:5173, complete /auth/setup, then use the panel. API docs: http://127.0.0.1:4000/api/docs.
Environment notes
- API service sets
PANEL_WEB_ORIGIN: http://localhost:5173in compose; align with your actual Vite URL. - For production-style single-port nginx + static UI, see Manual install and
docker-compose.prod.ymlin the same directory.