I can recommend in getting in k8s with something like microk8s from ubuntu:
You will learn k8s and you will get the same thing as they do but with open components, industry standards and a whole industry moving in this direction.
I have already microk8s running at home with argocd. I have never had IaC that quick and that simple setup.
With traefik you can have your domains as well. Then just go to gitlab (or now to github, haven't checked out yet if i wanna migrate back) and register your microk8s cluster as a buildrunner.
Thats it you are set. Quite future proof setup, modern, stable, easy to use.
How does the deployment process differ from CapRover/Dokku?
Deploying a simple app with a database with Dokku is something like:
1. Run command to create a database of your choice(Postgres, MySQL, Redis etc)
2. Run command to create application
3. Run command to link the database to the application
4. Push to the Dokku repo to deploy the application.
Don't bother k8s is like the lvl of the dragon in front of something like dokku, If you don't really look for auto scaling, or you are running a business alone, don't go for k8s
Both can solve the same issue and both are similiar as they orchestrate your platform.
Kubernetes is just the future, used by much more people and you have the additional benefit of learning kubernetes which might help you in your job/day to day business etc.
If you are already thinking of operating CapRover/Dokku, i would strongly considering using kubernetes instead.
You will learn k8s and you will get the same thing as they do but with open components, industry standards and a whole industry moving in this direction.
I have already microk8s running at home with argocd. I have never had IaC that quick and that simple setup.
With traefik you can have your domains as well. Then just go to gitlab (or now to github, haven't checked out yet if i wanna migrate back) and register your microk8s cluster as a buildrunner.
Thats it you are set. Quite future proof setup, modern, stable, easy to use.