Skip to main content

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:5173 in compose; align with your actual Vite URL.
  • For production-style single-port nginx + static UI, see Manual install and docker-compose.prod.yml in the same directory.