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.