Skip to content

SSujitX/docklift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

525 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐳 Docklift

Self-hosted Docker deployment platform
Open-source alternative to Coolify, Dokploy, Dokku, CapRover, Vercel, Netlify & Heroku.

Stars Release Next.js Express Docker

Quick Start β€’ Features β€’ Commands β€’ Contributing


πŸ“– What is Docklift?

Docklift lets you deploy and manage Docker containers on your own server with a beautiful web UI. Connect GitHub repos or upload files, get auto-deployments, custom domains, and full system monitoring β€” without vendor lock-in.

Your server. Your rules. Your apps.

Docklift Dashboard


πŸ†š Why Docklift?

There are great tools out there like Coolify, Dokploy, Dokku, and CapRover β€” but they often come with a learning curve, complex configurations, or feel heavy for simple use cases.

Docklift is built to be lightweight, minimal, and easy to understand. It focuses purely on Docker deployments without the bloat, while offering features others don't β€” like full system monitoring (CPU, RAM, GPU, disk, network) and a web terminal right in your browser.

If you want to deploy Docker containers quickly without wrestling with configurations, Docklift is for you.


πŸ“‘ Table of Contents


πŸš€ Quick Start

One-command install on Ubuntu/Debian:

curl -fsSL https://raw.githubusercontent.com/SSujitX/docklift/master/install.sh | sudo bash

Access your dashboard at http://your-ip:8080


✨ Features

Feature Description
πŸ“¦ One-Click Deploy Push code β†’ Docklift builds & runs it
πŸ™ GitHub Integration Connect private repos via GitHub Apps
πŸ”„ Auto-Deploy Webhook-triggered redeploys on push
🌐 Custom Domains Automatic Nginx proxy & SSL ready
πŸ“Š System Monitoring CPU, RAM, GPU, disk & network stats
πŸ’» Web Terminal SSH-like access in your browser
πŸ“œ Live Build Logs Real-time streaming output
πŸ” Env Variables Secure build-time & runtime secrets

πŸ“¦ Installation

Production (Recommended)

Install:

curl -fsSL https://raw.githubusercontent.com/SSujitX/docklift/master/install.sh | sudo bash

Upgrade (preserves data):

curl -fsSL https://raw.githubusercontent.com/SSujitX/docklift/master/upgrade.sh | sudo bash

Uninstall:

curl -fsSL https://raw.githubusercontent.com/SSujitX/docklift/master/uninstall.sh | sudo bash -s -- -y

Development Build (Latest Master)

For testing the latest features before release:

curl -fsSL https://raw.githubusercontent.com/SSujitX/docklift/master/install-dev.sh | sudo bash

⚠️ Warning: This installs unreleased code from master branch. Use production install for stable deployments.

Docker Compose

git clone https://github.com/SSujitX/docklift.git
cd docklift
docker compose up -d

πŸ’» Development Setup

Prerequisites: Docker, Bun

Clone & setup:

git clone https://github.com/SSujitX/docklift.git
cd docklift

Backend:

cd backend && cp .env.example .env
bun install
bun run db:generate && bun run db:push
bun run dev

Frontend (new terminal):

cd frontend && bun install && bun run dev

Dev URLs: Frontend localhost:3000 | Backend localhost:4000


🐳 Deploy Your First App

  1. Open Docklift β†’ Click New Project
  2. Choose source: GitHub URL, Private Repo, or ZIP Upload
  3. Add environment variables (optional)
  4. Click Deploy β†’ Watch live build logs
  5. Access at http://your-ip:<assigned-port>

Requirement: Your project must have a Dockerfile


πŸ“‹ Commands Reference

πŸ” Logs

Command Description
docker logs docklift-backend -f Backend logs
docker logs docklift-frontend -f Frontend logs
docker logs docklift-nginx-proxy -f Nginx proxy logs
docker ps --filter name=dl_ List project containers

πŸ—„οΈ Database

Command Description
bun run db:studio Open Prisma Studio GUI
bun run db:push Push schema changes
bun run db:generate Regenerate Prisma client

🏷️ Auto Release

Docklift uses semantic-release to automate versioning, changelogs, and GitHub Releases.

How to release:

  1. Push commits to master using conventional commits (e.g. fix:, feat:)
  2. Go to GitHub β†’ Actions β†’ "Release & Test" β†’ Click "Run workflow"
  3. Done! semantic-release automatically:
    • Determines the next version from commit messages
    • Bumps package.json (root, frontend, backend)
    • Updates CHANGELOG.md
    • Creates a git tag and GitHub Release
Commit Type Release
feat:, fix:, perf:, refactor: Patch (1.3.10 β†’ 1.3.11)
*force minor* in subject Minor (1.3.10 β†’ 1.4.0)
BREAKING CHANGE Major (1.3.10 β†’ 2.0.0)
*skip release* in subject No release

πŸ“– Config: release.config.cjs | Workflow: .github/workflows/release.yml

🧹 Cleanup

Command Description
for port in {3001..3050}; do sudo fuser -k ${port}/tcp 2>/dev/null; done Kill ports 3001-3050
cd backend && bun run reset-password Reset admin password

πŸ“– Full commands guide: commands.md


🀝 Contributing

Contributions welcome! Please:

  1. Fork the repo
  2. Create a feature branch (git checkout -b feature/amazing)
  3. Commit changes (git commit -m 'feat: add amazing feature')
  4. Push to branch (git push origin feature/amazing)
  5. Open a Pull Request

Commit Convention

feat:     New feature
fix:      Bug fix
docs:     Documentation
style:    Formatting (no code change)
refactor: Code restructure
test:     Add tests
chore:    Maintenance

πŸ“„ License

MIT License β€” see LICENSE


Made with ❀️ for developers who take control

Star History

Visitors

About

Docklift is an open-source & self-hosted docker deployment platform alternative to Coolify / Dokploy / Heroku / Netlify / Vercel / etc. Deploy your apps with a single click.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages