I wish I knew what the hell you're talking about, but I sure am smiling big for you what ever it does. LOL I know what Kubernetes is. But after that, it's all Greek to me. Best of good fortune in..........whatever you're doing. /s
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
-
No low-effort posts. This is subjective and will largely be determined by the community member reports.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Next step: convert docker to nspawn/portable sysd services
Sorry if this is a silly question, but what is the use case for this?
Attempted satiation of the curse. Probably.
The real question is "why would anyone want to use this". The answer "People are lazy and prefer using docker compose over k3s".
I maintain several helmfiles repo, and people asked me "but where docker compose" . So there is your docker compose https://github.com/baptisterajaut/stoatchat-platform/blob/main/docs/compose-deployment.md
But yeah, all of this shouldn't exist. Go read the about page in the docs if you're brave (or bored) enough
I hate that you hate to write this, but good work doing it. I never understood why people perceive k3s as hard and then write pages of docker compose yaml instead. Admittedly my day job got me a CKA, but running k3s at home is barely a step up from docker compose.
I'm one of these people. Simple answer? It's the documentation. I've given k8s an honest try, but it honestly feels like the "draw the rest of the fucking owl" meme, starts way basic then gets wayy too hard without explaining anything in between.
Meanwhile docker is 1 file, 1 command to get started.
Edit: I just realized you were talking about k3s, not k8s. Is that something different somehow? Google says it's a "k8s" distribution? WTF would that be?
Yeah for reference I'd probably never run the full open source Kubernetes distribution unless I had to, and that would mean having access to millions of dollars of hardware in a datacenter.
K3s is a lightweight Kuberbetes distribution that implements the full Kuberbetes API (full-ish? Maybe?). It's super easy to run on Linux, I run a 3 node cluster with GPUs at home. Its only real downside is the backend is a single point of failure, but that's ok for me cause it's run from my storage node with all the disks, so if that disappears I have bigger problems.
There are others like microk8s which can handle control plane failures, but it's for that reason that I also dislike it - they wrote their own distributed sqlite instance and it failed on me, a story for another time.
Minikube can run on your desktop, it's also an option.
But if you have docker desktop, you also have a built in Kuberbetes API server too, just have to enable it with one checkbox (not a full API server, but good enough for installing helm charts).
Kind is a docker based Kubernetes server but I think that's in the realm of testing not running. I believe K0s is in this camp too but could be wrong.
At work the daily driver will be one of EKS, GKE, AKS, or whichever cloud providers implementation. They're effectively free and a loss leader because you'll pay for instances anyway (at least on EKS, I'm most familiar with that one).
But if you're interested in learning, start with docker desktops k8s API, or minikube, or k3s if you have a Linux host or raspberry Pi lying around.
🌈The more you know!🌈
People are lazy
Yeah, that tracks. It sounds like Type 1 Laziness: people who don't want to do anything.
I sense you make this because you are Type 2 Lazy: Happy to learn and make 100 new things to avoid having to do a boring thing more than once. That's something I can both appreciate and relate to.
On i am 1000% a type 2 lazy. Sysadmin by heart
Looks like it's meant to help you escape K8S, a worthy goal.
It never was the goal. The goal was to escape docker compose. Ended up opening portals to other dimensions. Live and learn
okay the moment I saw Python I just closed it
I mean, it's yaml manipulation. It was either python or perl, but i wasn't fucking with perl, i'm insane not mad (or the other way around)
Perl is perfect for curses you have no intention of maintaining. You can pack more dark magic per line.
Why do you think I won't maintain this?
People rarely maintain open source curses. Manjaro withstanding.
Bahahaha
Perl is way crazier than Python that’s for sure. Don’t get me wrong, it’s a nice project, Python gets you there really fast because the la gauge is loosely coupled, just that when it’s failing it’s blowing up on all ends & it’s not so deterministic, meaning what you run on machine-a will be exactly the same on machine-b.
Curious what you would use instead? I can only think of one wrong answer and that's Jsonnet.
Would’ve written a Golang program and spit-out a binary for everyone to execute on any machine.
No dependency problems, it’s portable, it’s deterministic — all that you need. Everything is packed in that binary, dependencies, your core logic.
You sweet summer child...
You can create static binaries that bundle the python interpreter and dependencies.
It's the onefile option in pyinstaller: https://pyinstaller.org/en/stable/usage.html#cmdoption-F
You can also do it with C. Or Csharp. Or many other programming languages. It's not a feature unique to Go, it's just that Go can only create static binaries.
not only, you can go ahead and run a Go program as is, without compiling as well 😆
TIL about the onefile, 10x for sharing, can you guarantee that runs everywhere?
go run works by compiling the program to a temporary executable and then executing that.
can you guarantee that runs everywhere
It seems to depend on glibc versions, if that's what you are asking. You can force it to be more static by using a static musl python or via other tools. Of course, a binary for Linux only runs on Linux and the same for Windows and Mac. But yeah.
Also it should be noted that go binaries that use C library dependencies are not truly standalone, often depending on glibc in similar ways. Of course, same as pyinstaller, you can use musl to make it more static.