| name | Technology Stack |
| description | Comprehensive list of all technologies and libraries used in Docklift. |
Technology Stack
Docklift is built using a modern, lightweight, and performance-oriented stack.
Frontend (User Interface)
- Bundler / Dev: Vite (dev server on
:3600)
- UI: React 19 + React Router
- Language: TypeScript
- Styling:
- App shell: Custom sidebar shell in
frontend/src/components/shell/ + frontend/src/app/AppShell.tsx
- State/Data:
- React Hooks (
useState, useEffect)
- Native
fetch via authFetch() / fetchWithAuth() helpers (frontend/src/lib/auth.ts)
- EventSource (SSE logs)
- Editor: Monaco Editor
- Terminal: xterm.js over WebSocket
- Icons: Lucide React
- Notifications: Sonner
- Theming: Custom
ThemeProvider (frontend/src/lib/theme.tsx)
Backend (API & Orchestration)
- Runtime: Node.js 24 (production Docker images; Bun used for install/build)
- Package Manager: Bun (fast install & script runner)
- Dev Runner: tsx (
bun run dev → tsx watch src/index.ts, serves :8000)
- Framework: Express 5.2
- Language: TypeScript
- Database:
- Docker Control: Dockerode for inspect/logs,
docker CLI for compose/build
- App Builder: Railpack (pinned version, invoked through
docker buildx)
- Compose Generation: js-yaml
- Git Operations: Simple-Git
- Monitoring: Systeminformation (CPU, RAM, usage stats)
- Archives:
archiver (backups), unzipper (uploads, wrapped by lib/safeUnzip.ts)
- Auth:
jsonwebtoken (JWT)
bcrypt (password hashing, 12 rounds)
express-rate-limit
- WebSocket:
ws (web terminal)
Infrastructure
- Containers: Docker + Docker Compose (+ BuildKit/
buildx for Railpack builds)
- Images:
docklift-backend, docklift-frontend (explicit names; containers docklift-*)
- Dashboard gateway:
docklift-nginx → host :8080 (nginx.conf)
- App domains proxy:
docklift-nginx-proxy → host :80 + :443
- Certificates:
docklift-certbot (Let's Encrypt HTTP-01, renewal loop every 12h)