Manual install
“Manual” here means you build artifacts and configure .env yourself—either fully on bare metal or hybrid (Docker for DB + local processes).
In this page
- Clone and install dependencies
- Configure the API
- Database migrations and seed
- Development mode
- Production-style Docker (nginx :8080)
Clone and install dependencies
git clone https://github.com/gwalesh/deploy-dock.git
cd deploy-dock
corepack enable && corepack prepare pnpm@9.15.0 --activate
pnpm install
Configure the API
cp apps/api/.env.example apps/api/.env
Edit apps/api/.env and set at minimum:
DATABASE_URLJWT_ACCESS_SECRET,PANEL_SECRETS_KEYPANEL_WEB_ORIGIN(must match the browser origin of the UI)- Optional:
PANEL_DISABLE_QUEUE=1if Redis is unavailable (deploy jobs complete inline without worker)
Database migrations and seed
pnpm --filter @deploydock/api exec prisma migrate deploy
pnpm --filter @deploydock/api exec prisma db seed
Development mode
pnpm dev
- UI: Vite default (5173), proxies
/apito the API. - API: 4000 — Swagger at
http://127.0.0.1:4000/api/docs - First run: open
http://127.0.0.1:5173/auth/setupto register the superadmin and first server.
Production-style Docker (nginx :8080)
From monorepo README:
pnpm install
pnpm --filter @deploydock/web build
docker compose -f deploy/docker/docker-compose.prod.yml up -d --build
docker compose -f deploy/docker/docker-compose.prod.yml exec -T api sh -lc "cd /srv/apps/api && pnpm exec prisma migrate deploy && pnpm exec prisma db seed"
- Browser:
http://localhost:8080 - Nginx serves
apps/web/distand proxies/api/to the API container (deploy/docker/nginx.panel.conf). - Set
JWT_ACCESS_SECRET,PANEL_SECRETS_KEY, andPANEL_WEB_ORIGINfor real deployments (compose supports${VAR:-default}patterns).
Installer paths on Ubuntu (skeleton) remain under /opt/deploy-dock and /etc/deploy-dock as in scripts/install/install.sh.