- Dokku [0]
- CapRover [1]
- Dokku [0]
- CapRover [1]
Piku is awesome! I've always thought the PaaS space is wide enough for many players in specific niches, and I love the approach of running processes outside of containers. About the only thing I would change is to utilize systemd (or similar) for spawning processes, but otherwise it's super neat. I've used it myself on a raspberry pi zero :)
It's still a little rough around the edges but quickly getting polished up.
Honestly I'm probably ending up reinventing the wheel a lot while going with kubernetes (on my personal projects) piecing together a lot of what these tools would give me with minimal configuration. And it feels like a lot of what I'm currently trying to work on in my side project is basically what I would get from these paas solutions but with the benefit of understanding and being able to tweak the various components better.
It just doesn't feel right for me. For small scale apps it's enough to spin up one or two VMs and run some containers with docker-compose (or just use Vercel/etc for a few bucks). But if it should scale, there is no alternative to kubernetes in the open source world.
You can run Kubernetes for cheap on a single node and it seems you can configure it so that you only need to care about the configuration when you need flexibility. I think.
I get a similar feeling to how it was to set up a react project before you had create-react-app like tools. There's a lack of plug and play options that works for most use cases.
Then again I might just be sort of rationalising the amount of time I've spent on it on a personal project that doesn't really require it.
push heroku, done, get back to other things.
Like:
- https://www.cloudfoundry.org/technology/korifi/
Not sure if all of them are relevant and on first glance they all seem significantly harder to pick up than something like Heroku.
Found them through this reddit thread: https://www.reddit.com/r/kubernetes/comments/m8r5py/looking_...
You can think of it as a much nicer CLI for k8s in that case. But it scales way down to a single machine deployment that is much simpler.
The "scheduler" term here _is_ a bit weird, but I couldn't figure a better term when I was abstracting the concept.
And yeah, the idea here is that the underlying scheduling system shouldn't matter too much to the user of Dokku, but rather that you get the same experience regardless of the scheduling system. That means that as a user, `dokku enter` (for entering a running container) should be the same if its on Docker Local, Kubernetes, or Nomad. Similarly, Dokku should abstract what it means to deploy a workload onto a system - for Kubernetes, we use Helm charts, but the user doesn't need to know about how helm charts work or anything like that.
We've traditionally focused on getting that single-server experience to a high quality, but now that the base is more or less complete, we can start looking at other integrations that help our users scale.
https://github.com/porter-dev/porter
and Otomi, "self-hosted DevOps PaaS for Kubernetes"
I think myself - and folks maintaining other open source projects! - would love to hear feedback about what works/what doesn't. Feel free to reach via email (its in my profile) if you want, or our Discord/Slack.
I typically see users struggle with an initial deploy because their app depends on some variable or service running and that wasn't taken into account. This is pretty much the same as for general CI, where one might go through several commits before CI is running as you expect.
Very unfortunately, detecting these pain points requires work from both platform maintainers _as well as_ framework owners. The reason rails apps deployed so nicely across PaaS services in the past is because the Rails developers spent a ton of time ensuring applications _could_ do 12 Factor, while most PaaS services spent a ton of time working towards those constraints. Consequently, deploying other services that don't conform to this standard is a bit more difficult (though usually still possible).
Hatchbox is pretty cool, but not OSS - also doesn't use Docker IIRC if thats something you were looking for.
There's certainly something to be said about managed services though. For folks that don't mind managing their infra, OSS systems allow customizations and extensions that you wouldn't see from a managed service, but you potentially trade that for reliability guarantees and general maintenance. With Dokku for instance, I see folks go quite a while without upgrading - potentially causing issues when they do, but mostly making it so they miss out on features and bug fixes. For managed services like Hatchbox, you get that for free, but then the system might change underneath at a cadence you're unhappy with.