Coolify/Dokploy alternative with builds on GitHub Actions?
I'm looking for something like Coolify/Dokploy, but I don't want builds happening on my VPS. Ideally: Git push → GitHub Actions / Bitbucket Pipelines builds the image → registry → VPS pulls and deploys it. I want to use free CI/CD credits and keep the VPS…
I'm looking for something like Coolify/Dokploy, but I don't want builds happening on my VPS. Ideally: Git push → GitHub Actions / Bitbucket Pipelines builds the image → registry → VPS pulls and deploys it. I want to use free CI/CD credits and keep the VPS focused on actually running containers instead of wasting CPU/RAM on builds. Looking for: Simple web UI Docker/Compose Reverse proxy + SSL Env/secrets management Deploy from registry Auto-deploy after CI Open source/self-hosted Does something like this exist, or can Coolify/Dokploy already be configured this way? Thanks.
已收录讨论
Expand the replies to this comment to learn how AI was used in this post/project.
Are you sure? I think Forgejo is an alternative to github such as gitea, etc self hosted code repository. My requirements are different.
Except reverse proxy, which you should deploy pangolin for, I think it ticks all the boxes.
i replaced coolify to dokploy for less resource usage. How about komodo? Do you have any experience?
Maybe around 300 mb
Forgejo I think, I'm deploying it tonight.
Same, im doing it rn
Komodo works for this https://komo.do
to answer your question the way you asked it. Just use GitHub or bitbucket. That will 100% do what you are asking. Deploy to GitHub. Its actions pick it up and build. Your VPS is not part of it. Edited to shorten and just answer question directly.
What you're describing is basically Portainer + Watchtower + a reverse proxy, and it's a smaller footprint than adding a full PaaS layer on top of it: - GitHub Actions builds the image and pushes to GHCR (or any registry) -- zero build load on the VPS. - Portainer gives you the web UI for Compose stacks, per-stack env vars, and redeploys -- it doesn't build anything, it just orchestrates what's already built. - Watchtower (or a lightweight webhook that runs `docker compose pull && up -d`) handles auto-deploy-after-CI: either poll the registry on an interval, or have the last CI step hit a webhook on the VPS. - Caddy or Traefik in front for reverse proxy + automatic SSL. The piece Coolify/Dokploy actually save you is the "CI trigger to deploy" glue being built-in instead of assembled from three services -- but since you're deliberately keeping builds off the VPS anyway, you're already opting out of the part of those tools that does the most work for you, so the assembled version isn't really more effort than configuring them to behave like this. If you want even fewer moving parts than Portainer, a systemd timer running `docker compose pull && docker compose up -d` on a cron next to your reverse proxy config gets you most of this with zero extra services running.
I am doing exactly this in Dokploy for https://github.com/Windshiftapp/core - the Docker CI workflow builds the image and in Dokploy I simply have to manually press "Deploy" whenever I want to reload of the :main tag. There is really not much to it, you can just pull with a custom docker-compose from ghcr.io As others have said, the auto deploy can be a cron if necessary
the "no builds on the VPS" part is solved the moment you deploy from a registry, so any image-based deployer works here, not just Coolify. Dokploy and Komodo both let you point a service at a prebuilt GHCR tag and skip building entirely; the piece people trip on is the auto-deploy trigger. fire a webhook from the end of your Actions job rather than leaning on Watchtower polling, since polling is laggy and gives you no control over which commit actually rolls out.
Disclosure: I work on Appaloft. Given your constraint, I’d keep GitHub Actions responsible for building and pushing an immutable image, then give the VPS layer only four jobs: authenticate the deploy trigger, pull that exact image, verify health, and retain a known-good rollback candidate. Whether you use Portainer plus a webhook, Watchtower, or a deployment control plane such as Appaloft, I’d compare them on digest pinning, health-gated promotion, rollback evidence, secret handling, and what happens when the registry is unavailable. Since you already have CI, adding another server-side builder is probably unnecessary. For Appaloft specifically, the safer fit today is a prebuilt image or explicit Compose profile triggered from GitHub Actions—not relying on automatic remote-repository framework detection.
CapRover. I've been using it for a few years, it's light, easy, fast. Does everything on your list, the only caveat is docker compose support is limited (doesn't support all features).