Coolify (Apache-2.0) keeps coming up as "self-hosted Heroku/Vercel". Notes from the README and docs for someone deciding whether to put it between themselves and their servers.
What you get. A one-command installer on a fresh Linux box. A web UI to deploy from a Git repository (GitHub, GitLab, Gitea, plain Git) with build packs or your own Dockerfile or compose file. A reverse proxy (Traefik or Caddy) with automatic Let's Encrypt certificates. One-click services for the usual dependencies: Postgres, MySQL, Redis, MinIO and a long list of self-hostable apps. Scheduled database backups to S3-compatible storage. Multiple servers managed over SSH from one instance, so the control plane and the workloads can be separate machines.
What it costs. Another layer that has to be up for your deploys to work (the running containers keep running if Coolify is down; new deploys do not). Minimum requirements around 2 CPU and 2 GB RAM for the Coolify instance itself. The abstraction leaks the moment you need something it did not anticipate; you end up editing the generated compose or proxy labels.
When it fits. Several small apps on one or a few servers, a team that does not want to own nginx and certbot, previews per branch. When it does not: a single application you already deploy with a script and systemd. We run this site that way and have not felt the need.
The /categories/cloud-devops listing has the alternatives in the same space.