I already had a VPS, so why was I paying a platform to deploy my apps?
I already had my own VPS. It sat there with plenty of RAM, mostly idle. And I was still paying a platform to deploy my apps onto someone else's servers. That felt silly. So I built Dockfin. The problem nobody puts on the pricing page Platforms like Heroku and Vercel are great at one thing: they make the first deploy feel like magic. You push, you get a URL, you feel like a genius. The trouble starts later. A second app. A database. A preview environment for every pull request. A teammate who needs access. Each of these is reasonable on its own, and together they become a monthly number you try not to look at. The alternative is doing it yourself. Docker, a reverse proxy, TLS, webhooks, backups, all wired up by hand. That's a weekend you never get back, and then you have to maintain it. So the choice usually looks like this: pay for convenience, or pay with your time. I wanted a third option. What Dockfin is Dockfin is an MIT-licensed self-hosted PaaS. The whole thing (a Go API plus a React dashboard) ships as a single Docker image. You install it on an Ubuntu or Debian server with one command: curl -fsSL https://raw.githubusercontent.com/foisalislambd/dockfin/main/scripts/install.sh | sudo bash The script installs Docker if it's missing, generates secrets, starts Postgres and Dockfin, and opens the dashboard on port 8000. Ports 80 and 443 stay free for the proxy. You register an admin account, the server adds itself, and you create your first project. From there you can deploy: Apps from a Dockerfile, a Compose file, a prebuilt image, Railpack, or a static build Databases like Postgres, MySQL, MongoDB, and Redis, with backups to S3 One-click services from a library of hundreds of templates It talks to your servers over SSH, so one dashboard can manage several machines. State lives in your own Postgres, so nothing leaves your infrastructure. Three features I'd fight for Most PaaS feature lists look the same, so I'll skip the checklist and talk about the parts I care about most. 1. Deploy freeze. You can freeze an environment with a reason, like "Launch day, no deploys until 6pm." New deploys stop. Git webhooks get skipped instead of failing, so your Git provider doesn't keep retrying and filling your logs with red. Restarts, stops, and rollbacks still work, because a freeze should stop surprises, not stop you from fixing things. If an owner really needs to ship a hotfix, there's an explicit override. Anyone who has watched an auto-deploy land in the middle of a launch or an incident knows why this matters. 2. Deploys you can watch, and undo. Every deploy streams its logs live and shows which step it's on. If it fails, you see why. If it succeeds and breaks something anyway, rollback is one click. From the terminal, dfin logs --follow gives you the same stream. 3. A CLI that isn't an afterthought. dfin can create, edit, and delete servers, projects, environments, apps, services, databases, env vars, and domains. Every command has a --json flag, so it works in scripts and CI: dfin --json projects list dfin freeze --reason "maintenance" dfin deploy --override-freeze The boring parts that matter The stuff nobody tweets about is what lets you sleep. Dockfin has: per-IP rate limits, stricter on auth and webhooks security headers and a Content-Security-Policy TOTP 2FA and team roles an audit log of who did what, kept for 90 days by default a Prometheus /metrics endpoint, which you can lock behind a token an OpenAPI 3.1 spec generated straight from the router, with a test that fails if the spec and the code drift apart It also handles Git webhooks for GitHub, GitLab, Gitea, and Bitbucket, PR preview environments that clean themselves up, Traefik or Caddy, Docker Swarm, and Cloudflare Tunnel. What it's not I'd rather lose you now than disappoint you later: It won't run on cPanel or shared hosting. It needs Docker and root on a VPS or dedicated server. It's young. The repo started in July 2026. It's at v2.0.0, but it's mostly built by one person, so it hasn't been battle-tested by thousands of users. If you need Kubernetes-scale orchestration or a vendor SLA, use something else. And yes, Coolify is the obvious comparison. It's a great project, and if it already works for you, keep using it. Dockfin is my take on the same idea: a Go control plane, one image, and a strong focus on safe deploys (freeze, live progress, rollback) and a scriptable CLI. Try both and keep the one that fits how you work. What's next The next big thing I want is an app marketplace: a separate catalog service with its own API, which Dockfin reads so you can install apps like WordPress into a project in one click. The idea is that new apps can be added without shipping a new Dockfin release. Try it, and break it If you have a spare VPS (even a cheap one), I'd love for you to try Dockfin and tell me where it falls over. Issues, rough edges, confusing screens, anything: 👉 https://github.com/foisalislambd/dockfin A star helps other people find it. A bug report helps me more. Thanks for reading. — Foisal
This is a summary aggregated from Dev.to. Read the complete article on the original site:
Read full article at Dev.to