Build yourself a private self-hosted full stack personal cloud system
github.com
github.com
If you have enough docker container that you feel youd like to use docker swarm, you can use already kubernetes.
- either gitlab or github (now both have free private repos) - Ubuntu with microk8s - argocd for sync between git and your k8s - argocd to manage your application - argocd has a declartive setup, you can configure argocd through argocd! https://argoproj.github.io/argo-cd/operator-manual/declarati... - your application with a simple docker container + a litte bit of yaml - traefik + lets encrypt -> dns out of the box / with little effort
Now you can use your host to store your data and backup only that folder where you have all your storage needs, or you go with longhorn or openebs. With that setup you have all of your setup as code in your git (automatically backedup) and all configs in your storage system or storage path.
If you then would like to have a ltitle bit of high availability, take a raspi, install ubuntu with microk8s and join your single node cluster.
You can then either use tekton inside your already existing cluster to have your own small build pipeline for your images or you connect gitlab.com with your private k8s cluster so that you have your own gitlab runner. Which you don't need as gitlab is allowing free builds.
prometheus operator (promethus + grafana) is already available as an addon in microk8s. Its just one line to enable it -> monitoring done.
You can continue with this by buying yourself a small server, install microk8s on that, join it to your cluster and now you can deploy automagically to the internet.
> For this setup you'll need...
> Cloudflare Account
That defeats the point of self hosting in my opinion. If traffic is flowing through cloudflare then I'm no longer in charge of some key bits of metadata.