원클릭으로
general-development
Guide for setting up, running, and developing the Docklift project.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Guide for setting up, running, and developing the Docklift project.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Guide for server management, system APIs, backups, and maintenance operations.
Guide for developing features in the Vite + React Router frontend.
Guide to Docklift's automated release pipeline using semantic-release.
Guide for setting up and managing Docklift's GitHub App integration.
Coolify/Dokploy-style managed databases with Dokku-style app linking.
Security patterns, guards, and best practices enforced across the Docklift codebase.
| name | General Development |
| description | Guide for setting up, running, and developing the Docklift project. |
Docklift is a self-hosted Docker deployment platform. This skill covers local setup and the day-to-day workflow; the other skills go deep on individual subsystems.
backend/ Express + Prisma API (TypeScript, ESM)
src/routes/ HTTP endpoints
src/services/ Docker, git, build, nginx, certs, terminal
src/lib/ Config, auth middleware, naming, path/origin security
prisma/ schema.prisma + migrations/ (ensureDb migrate deploy on boot)
frontend/ Vite + React 19 dashboard
src/app/ AppShell + router
src/components/ shell/, ui/, feature components
src/pages/ Route pages, incl. docs/
nginx.conf Dashboard gateway config
nginx-proxy/ Public proxy config, snippets, generated vhosts, certbot state
data/ SQLite DB + uploads (mounted)
deployments/ Project sources + .docklift/ generated runtime state (mounted)
backups/ Backup archives (mounted)
*.sh install / install-dev / upgrade / uninstall
git clone https://github.com/SSujitX/docklift.git
cd docklift
Backend (terminal 1) — serves http://localhost:8000:
cd backend
cp .env.local.example .env.local # gitignored; JWT auto-generates if left empty
bun install
bun run db:generate
bun run db:push
bun run dev # tsx watch
Frontend (terminal 2) — serves http://localhost:3600:
cd frontend
bun install
bun run dev
| File | Committed | Purpose |
|---|---|---|
backend/.env | yes | Server/production defaults |
backend/.env.local.example | yes | Template for local overrides |
backend/.env.local | no | Your machine: Vite CORS origin, optional GitHub App creds |
Secrets (JWT_SECRET, INTERNAL_API_SECRET) auto-generate and persist under data/.secrets when
not supplied, so a fresh install needs no manual setup.
Because the Vite dev server runs on :3600 while the API runs on :8000, the dev origin is
cross-origin and must be allowed via CORS_ORIGIN in .env.local — the production build is
same-origin behind docklift-nginx and needs nothing.
bun run dev — tsx watch on :8000bun run build — tsc → dist/bun run test — tsx --test (build resolver)bun run db:studio / db:push / db:generatebun run reset-password — reset the admin passwordbun run dev — Vite on :3600bun run build — tsc -b + production build into dist/bun run preview — serve the production builddocker compose up -d --build — production-like stack on :8080docker compose logs -f — all servicescd does not persist between calls and npx tsc may not resolve. Use one command with the local binary:
cd backend; .\node_modules\.bin\tsc --noEmit
cd frontend; .\node_modules\.bin\tsc -b --noEmit
AppShell — a collapsible left sidebar
(nav, status, user menu), a breadcrumb top bar, and a Ctrl+K command palette. There is no
global Header/Footer component any more. See frontend_development and ui_design_system.localStorage, short-lived separate tokens for SSE. See authentication.deployments/.docklift/<projectId>/ — repository
files are never modified. Apps land on per-project networks; host ports are opt-in. See
deployment_system.:8080 default 0.0.0.0, public proxy
:80/:443) plus a certbot sidecar; proxy attaches to each project network and routes to
container_name:internal_port. See networking_proxy.http://SERVER_IP:8080 + bootstrap setup code; first account cannot
be claimed without it. See authentication.feat:, fix:, docs:…) — releases are derived from them. See release_process.lib/naming.ts for any Docker name; never build those strings inline.LogViewer for anything log-shaped rather than writing another console.security_hardening checklist before adding an endpoint..agent/skills/*/SKILL.mdREADME.md, commands.md).sh scripts when behavior changeswebsite/guide/ (VitePress → https://docklift.dev)
Do not ship code-only updates and leave skills/docs/scripts stale.CORS_ORIGIN in backend/.env.local.bun run db:generate.