moonpiedumplings
@moonpiedumplings@programming.dev
- Comment on What else should I self-host? 10 hours ago:
Straying away from utilities, games are always fun to host. I got started with self hosting by hosting a minecraft server, but there are plenty of options.
- Comment on From Docker with Ansible to k3s: I don't get it... 2 days ago:
that all those CD tools were specifically tailored to run as workers in a deployment pipeline
That’s CI 🙃
Confusing terms, but yeah. With ArgoCD and FluxCD, they just read from a git repo and apply it to the cluster. In my linked git repo, flux is used to install “helmreleases” but argo has something similar.
- Comment on From Docker with Ansible to k3s: I don't get it... 2 days ago:
garden seems similar to GitOps solutions like ArgoCD or FluxCD for deploying helm charts.
Here is an example of authentik deployed using helm and fluxcd.
- Comment on From Docker with Ansible to k3s: I don't get it... 2 days ago:
Firstly, I want to say that I started with podman (alternative to docker) and ansible, but I quickly ran into issues. The last issue I encountered, and the last straw, was that creating a container, I was frustrated because Ansible would not actually change the container unless I used ansible to destroy and recreate it.
Without quadlets, podman manages it’s own state, which has issues, and was the entire reason I was looking into alternatives to podman for managing state.
More research: github.com/linux-system-roles/podman: I found an ansible role to generate podman quadlets, but I don’t really want to include ansible roles in my existing ansible roles. Also, it intakes kubernetes yaml, which is very complex for what I am trying to do. At that point, why not just use a single node kubernetes cluster and let kubernetes manage state?
So I switched to Kubernetes.
To answer some of your questions:
Am I really supposed to have a collection of small yaml files for everything, that I use with kubectl apply -f ?? It feels wrong and way too “by hand”! Is there a more scripted way to do it? Should I stay with everything in Ansible ??
So what I (and the industry) uses is called “GitOps”. It’s essentially you have a git repo, and the software automatically pulls the git repo and applies the configs.
Here is my gitops repo: github.com/moonpiedumplings/flux-config. I use FluxCD for GitOps, but there are other options like Rancher’s Fleet or the most popular ArgoCD.
As a tip, you can search github for pieces of code to reuse. I usually do
path:*.y*ml keywords keywords
to search for appropriate pieces of yaml.I see little to no example on how to deploy the service containers I want (pihole, navidrome, etc.) to a cluster, unlike docker-compose examples that can be found everywhere. Am I looking for the wrong thing?
So the first issue is that Kubernetes doesn’t really have “containers”. Instead, the smallest controllable unit in Kubernetes is a “pod”, which is a collection of containers that share a network device. Of course, pods for selfhosted services like the type this community is interested in will rarely have more than one container in them.
There are ways to convert a docker-compose to a kubernetes pod.
But in general, Kubernetes doesn’t use compose files for premade services, but instead helm charts. If you are having issues installing specific helm charts, you should ask for help here so we can iron them out. Helm charts are pretty reliable in my experience, but they do seem to be more involved to set up than docker-compose.
Even official doc seems broken. Am I really supposed to run many helm commands (some of them how just fails) and try and get ssl certs just to have Rancher and its dashboard
So what you’re supposed to do is deploy an “ingress”, (k3s comes with traefik by default), and then use cert-manager to automatically apply get letsencrypt certs for ingress “objects”.
Actually, traefik comes with it’s own way to get SSL certs (in addition to ingresses and cert manager), so you can look into that as well, but I decided to use the standardized ingress + cert-manager method because it was also compatible with other ingress software.
Although it seems complex, I’ve come to really, really love Kubernetes because of features mentioned here. Especially the declarative part, where all my services can be code in a git repo.
- Comment on What load balancers can do HA (preferably open source, web gui) 4 weeks ago:
Maybe nginx proxy manager can do this.
- Comment on The last note taking app you'll ever need 5 weeks ago:
I’m not spotting it. “AI” is only mentioned once.
The key and secret in the docker compose don’t seem to be API keys, but keys for directus itself (which upon a careful reread of the article, I realize is not FOSS, which might be anpther reason people don’t like it").
Directus does seem to have some integration with openai, but this blog post doesn’t mention any of it.
- Comment on Searchable db/Knowledge Management Software 5 weeks ago:
There are a few reasons why I really like it being public, even though it means I have to be careful not to share sensitive stuff.
- It creates a portfolio for me (I’m an undergrad) because I document my projects on there
- When asking for help with certain things, it’s really easy to simply link to my blog, since I document almost everything I do as I go. Here’s a recent example
- I can share cool stuff I have saved, like my lists of learning resources or lists of software, with others easily.
- Comment on Searchable db/Knowledge Management Software 1 month ago:
This isn’t exactly what you want. But I use a static site generator, with a fulltext search engine (that operates entirely locally!), called quarto. (although there are other options).
Although I call it a “blog”, it really is more of a personal data dump for me, where I put all my notes down and also record all my processes as I work through projects. Whenever I am redoing something I know I did in an old project, or something I saved here (but disguised as a blogpost), I can just search for it.
Here is my site: moonpiedumplings.github.io . You can try search at the top right (requires javascript).
- Comment on Peersuite p2p encrypted discord alternative 1 month ago:
There is literally no way to do performant e2ee at large scale. e2ee works by encrypting every message for every recipient, on the users device.
At 1000 users, that’s basically a public room.
- Comment on The last note taking app you'll ever need 1 month ago:
I think the mistake is they titled it “The last note taking app you’ll ever need” instead of “The last note taking app I’lll ever need”
Yes, seriously. The article seems to talk mostly about their personal usecases, which is fine. This app is great and it works for them. But it won’t work for everybody and the title should probably respect that instead of having a grating title that evokes a knee jerk reaction.
Databases are annoying it is legitimately more difficult to export data from a database to another, than it is to copy markdown notes from one folder to another. In addition to that, there are also tools that process markdown and do cool stuff with, like pandoc, beamer, revealjs, etc, which can’t really be done with the more opaque database format.
Also this notetaking service only appears to work while online. Again, fine for them — but a dealbreaker for many people.
- Comment on 1 month ago:
- Comment on [Debian Stable] Which Static Blog Generator: blag, Jekyll, Hugo, Lektor, Pelican, staticsite? 1 month ago:
Alright, this is gonna be long.
Firstly, yes, different static site generators have different templating langauges. But just like normal programming languages, it is easy to transition from one templating langauge to another. If you take a look at the syntax:
Not drastically different, but reading the docs, they are all similar enough, and easy to learn.
I wouldn’t call go’s templating language “esoteric”, but it should be noted that jinja2 is has other uses, most notably it is the templating engine that Ansible uses.
As for the docs… This could probably be a blog post by itself.
Firstly, take a look at this website: killedbygoogle.com . Google has created and then killed 296 projects, many of which were actively used and working. Why?
This is because, internally at Google, you get promoted if you either A: write software, or B: add more features to software. So what happens is people write software, get promoted, and then realize they don’t get paid more if they actually maintain that software, so they just kill it. Also, they forget to write documentation (because it doesn’t pay more or get you promoted).
Hugo, is by a Google Engineer, and it shows (or at least, it used to). Software by Google has two distinct characteristics (actually 3 if we count being written in Go).
- It has every feature you could ever want, even stuff you haven’t heard of
- And it’s poorly documented. Or not at all lmao.
But, “being poorly documented” is not a permanent fixture of this software, but instead something that mostly persists for as long as it’s Google software. Often, these projects get “adopted” by the wider community, who fixes up their documentation. Looking at hugo’s docs, it doesn’t seem be nightmarishly bad, especially for the core, main set of features. Like the setup docs appear to be clear (although a more complex process than alternatives).
But like, for search options: gohugo.io/tools/search/ . That google software pattern continues. There are like 10 options on the page, and no docs from hugo on their usage/installation lol.
Anyway, I would recommend eithier Pelican or Jekyll, given your requirements. But because everything you write is in markdown, it will be fairly easy to move from one static site generator to another, even if you are dissatisfied.
Also, kinda sorta relevant:
(source)
But the point I’m trying to make is the same. Don’t sweat the setup too much.
- Comment on Self hosted Teams alternative? 1 month ago:
I already made a comment but you should also look at rocketchat and revolt, since they are basically FOSS discord clones
(I saw comments in the thread about wanting audio only calls.)
- Comment on Self hosted Teams alternative? 1 month ago:
It’s actually not that hard. (Well it is, media and networking are hard, but)
I think the problem is that when people search for something better than Teams (or any other software), the confuse “better with”, with a mostly nonexistent “best”. In doing so, they skip over the way every single thing people suggest is “good enough”.
Like, following this thread, we went from “I want a teams (voice/video/chat) alternative” to “Yeah I don’t like Jami because it leaks metadata.” How did we go from wanting a teams alternative, to wanting privacy with no metadata leakage? Those are very different things, and you make tradeoffs if you take one set of feature over the other. If you just add “no metadata leakage” on top of your current wishes, then you are probably going to be disatisfied with every option given.
Or “Firewalls and hole punching!” (implying a p2p architecture) and “depends on peers being reliable” (being frustrated with the pitfalls of a p2p architecture). Of course there is software that is half p2p and half client server, but that is hard and tradeoffs will end up being made, even purely in what the developer spends their limited time on.
This person just needs to get out of their head, whip up deployments for every software (or suite if there is more than one) mentioned in the thread, and pick the one that looks the nicest.
- Comment on [Debian Stable] Which Static Blog Generator: blag, Jekyll, Hugo, Lektor, Pelican, staticsite? 1 month ago:
Quarto has theming via several built in bootstrap themes.
Quarto is written in javascript.
Also, it has no template engine/templating. I have a nasty hack where I write python code to output markdown that can be remdered to both html and pdf, but this is probably not what most people making a website want.
- Comment on [Debian Stable] Which Static Blog Generator: blag, Jekyll, Hugo, Lektor, Pelican, staticsite? 1 month ago:
I use quarto: quarto.org
The big thing I like is that it has fulltext local search, built in and easy to enable.
Search is possible on hugo, but it’s not built in, you have to get a plugin, etc etc. Same for many other options you mentioned.
- Comment on Self hosted Teams alternative? 1 month ago:
You want either mattermost or the whole matrix stack (backend, plus element with voice/video calls).
Matrix/Element is more of a discord alternative, whereas mattermost tries to be more of a slack alternative, where it seems to have some calendar integrations.
- Comment on Self hosted Teams alternative? 1 month ago:
Big bluebutton is now integrated into Canvas, an open source learning management software (LMS) that every school I have went to has used.
- Comment on List of Fan (OpenSource) Ports/Remakes of Games 1 month ago:
Here’s my older post on a similar topic on reddit: reddit.com/…/i_am_making_a_list_of_source_ports_o…
- Comment on The small scale of Lemmy's active user base is never more evident than in the absence of active members in all the sports related communities. 1 month ago:
Yeah, creative writing communities like r/AmITheAsshole, r/relationshipadvice, or r/offmychest.
- Comment on What are the minimum or recommended requirements for a personal home server? 1 month ago:
General Linux servers distros do not support android devices, you would need postmarketos.
- Comment on What are the minimum or recommended requirements for a personal home server? 1 month ago:
If you have an old android phone, then you can repurpose it into a Linux server.
Or an old computer. But you probably don’t need to buy anything to get started.
- Comment on Logwatch 1 month ago:
moonpiedumplings.github.io/playground/ccdc-logs/
I played around with some non-elasticsearch web/gui based solutions as well.
- Comment on Reality vs. male delusion 1 month ago:
LMFAO, I did not expect a lord of the mysteries reference in here. I gotta finish/reread it, I dropped it a long time ago
- Comment on What are some cool projects that I can do with a 1st gen Raspberry Pi? 1 month ago:
This is common in the IT world. Printers are such painful devices and installing drivers on every Windows desktop just adds to the pain, but by doing this you don’t need to install drivers, as Linux can serve something that doesn’t need drivers to print to.
- Comment on AceCoding.social - Vibe coding on the social web based on the semi-formalic language ACE (Demo) 2 months ago:
I thought you were going to link to this.
- Comment on AYANEO's "Small, Yet Mighty" Pocket ACE Breaks Cover | Time Extension 2 months ago:
Joysticks on the bottom again… whyyyyy…
My hands find that setup so uncomfortable, I wish they would put them on the top.
- Comment on XCP-NG vs PROXMOX security hardening? 2 months ago:
I don’t think so, now. You’ll have to do those yourself.
- Comment on XCP-NG vs PROXMOX security hardening? 2 months ago:
Which means my distro-morphing idea should work in theory with OpenStack
I don’t recommend doing a manual install though, as it’s extremely complex compared to automated deployment solutions like kolla-ansible, openstack-ansible, or openstack-helm/genestack. They make the install much more simpler and less time consuming, while still being intensely configurable.
- Comment on XCP-NG vs PROXMOX security hardening? 2 months ago:
Personally, I think Proxmox is somewhat unsecure too.
Proxmox is unique from other projects, in it’s much more hacky, and much of the stack is custom rather than standards. Like for example: For networking, they maintain a fork of the Linux’s older networking stack, called
ifupdown2
, whereas similar projects, like openstack, or Incus, use either the standard Linux kernel networking, or a project calledopenvswitch
.I think Proxmox is definitely secure enough, but I don’t know if I would really trust it for higher value usecases due to some of their stack being custom, rather than standard and mantained by the wider community.
If I end up wanting to run Proxmox, I’ll install Debian, distro-morph it to Kicksecure
If you’re interested in deploying a hypervisor on top of an existing operating system, I recommend looking into Incus or Openstack. They have packages/deployments than can be done on Debian or Red Hat distros, and I would argue that they are designed in a more secure manner (since they include multi tenancy) than Proxmox. In addition to that, they also use standard tooling for networking, like both can use Linux Bridge (in-kernel networking) for networking operations.
I would trust Openstack the most when it comes to security, because it is designed to be used as a public cloud, like having your own AWS, and it is deployed with components publicly accessible in the real world.