Comment by conqrr

Comment by conqrr 21 hours ago

3 replies

Very cool. I've looked into doing something similar for self hosting and have wanted something in between docker and Kubernetes. Nomad seemed like a good fit, but still a tad more work that dead simple docker and lack of ecosystem. I finally gave in to just using docker and living with deployment downtime on upgrades which is fine for a personal home server. But for production services, I wonder how much of K8s does Canine really abstract? Do I ever need to peek underneath the hood? I'm no k8s expert, but I wonder if there is simply no happy medium between these two.

psviderski 18 hours ago

I'm actually building something in between Docker and Kubernetes: https://github.com/psviderski/uncloud. Like you I wanted that middle ground without the operational overhead. It's basically Docker-like CLI and Docker Compose with multi-machine and production capabilities but no control plane to maintain.

Still in active development but the goal is to keep it simple enough that you can easily understand what's happening at each layer and can troubleshoot.

  • conqrr 18 hours ago

    Looks promising and exactly what I want solved. Adding wireguard and Caddy is slick. How are you planning to go about Zero Downtime deploy? Maybe emulate Swarm?

    • psviderski 18 hours ago

      Thanks! For zero-downtime deploys, it does simple rolling updates one container at a time in a similar way k8s or swarm does it. It starts the new container alongside the old one, waits for it to become healthy, Caddy picks it up and updates its config, then removes the old one. The difference is that this process is driven by your CLI command (not a reconciliation loop in the cluster) so you get an instant feedback if something goes wrong.