moonpiedumplings
@moonpiedumplings@programming.dev
- Comment on Replacing Cloudflare Tunnel with a Selfhosted Towonel Tunnel 5 days ago:
What reverse proxy are you using?
- Comment on What are my best options for hosting classic game servers in 2026? 6 days ago:
Tailscale works great, but their free tier is limited to a total of 8 users, which is enough for a tiny minecraft server, but doesn’t seem to be enough for your usecase.
For 10-15+ users, you probably want to self host a VPN on your own VPS. Like, you can self host headscale, which is tailscale but self hosted. : github.com/juanfont/headscale [1]
I wouldn’t port forward game servers, because they often lack authentication (login and stuff), and then they also have security issues due to not receiving updates. If your game server isn’t truly public, then it’s easier to just have people use the tailscale client to connect to your VPN.
[1] Although I would recommend headscale to OP for it’s simplicity, it is very barebones, and software like netbird or netmaker is more close to a truly self hosted tailscale, with things like more advanced accounts, OIDC integration, authorization, and so on. But they are more annoying to host and set up.
- Comment on Replacement for Docker Content Trust (DCT) 1 week ago:
Nix is also packaged in debian as nix-bin.
- Comment on Replacement for Docker Content Trust (DCT) 1 week ago:
A common distribution method involves multi-party signing, that is, multiple developers use keys to sign off on reviewed changes.
Multiple developers review the changes, before signing the git commit after review. Then they build the package, either locally or on CI servers, but again, multiple parties/servers sign and review, doing a reproducible build to verify across machines.
In an ideal architecture, there is never a single point of failure. You would have to compromise the computers of multiple devs, or multiple build servers that are building signed reproducible builds, in order to do it.
Although in theory, you could compromise all of them. But it’s extremely difficult.
- Comment on Replacement for Docker Content Trust (DCT) 1 week ago:
Anyway I was gonna write a rant about it but I’m too tired. But basically the docker ecosystem is kinda fucked in this regard, and trades security in many aspects for convenience of development and distribution. This is one of the most notable examples of this.
- Comment on Replacement for Docker Content Trust (DCT) 1 week ago:
Also what are you building? You might be able to replace docker with nix for example.
- Comment on Replacement for Docker Content Trust (DCT) 1 week ago:
I think the most popular solution is locally building and registry.
- Comment on VyOS or Opnsense 2 weeks ago:
Is your comment supposed to say “native pf or nftables”?
- Comment on Please weigh in: Transfer of Docker stacks to Debian 5 weeks ago:
Debian has a policy of only cherry picking security updates, or critical bugfixes, in order to ensure maximum system stability. In general, they don’t do entire program updates or additional features. For the 4 year lifecycle of a Debian release, it will behave the same as it did yesterday.
As of today, current version of rsync in Debian’s stable’s packages is 3.4.1: packages.debian.org/stable/rsync (archive).
The versions with significant LLM assistance are 3.4.3 and later.
- Comment on Centralized SSL certificate management? 5 weeks ago:
Certbot?
It can automate provisioning of certificates using DNS-01 challenges, which have wildcard certificates.
eff-certbot.readthedocs.io/en/stable/using.html#d…
Example tutorial: digitalocean.com/…/how-to-create-let-s-encrypt-wi…
Once you do that it puts the cert in
/etc/letsencrypt/live/so you can then do whatever you want with it. You would have to handle distribution manually.If you want to automate stuff across of a bunch of machines at once, I recommend Ansible: docs.ansible.com/projects/ansible/…/index.html
- Comment on Selfhosting as a Linux newbie - Ubuntu Server LTS or Debian 13? 5 weeks ago:
One thing I read about is that Ubuntu provides unattended updates, so it can automatically update packages and restart the server (that seems a bit too far ;) ). It’s probably possible on Debian but not out of the box.
Ubuntu automatically has unattended upgrades, which makes I think makes it a popular choice for VPS providers to push (beyond being popular in corporate/institutions overall), since they don’t have to worry about users forgetting security updates. However, it doesn’t enable automatic reboots. But, it does look like automatic restarts of services updated via unattended upgrades is done, but only as of Ubuntu 24.
Another thing to note is that Ubuntu has updates that are explicitly for security, and then everything else, including more general bugfixes and program updates with additional features. By default, unattended upgrades on Ubuntu only do security updates.
Of course, both a unattended upgrades and automatic reboots are possible on Debian (same software, Ubuntu just preconfigures it), although default configurations can vary. I wouldn’t be suprised if a VPS provider was shipping a default Debian configuration that enabled automatic upgrades.
On Debian, for the most part, ALL updates are only for security issues or severe bugfixes (program crashes or the like). Debian, for the most part, doesn’t do minor bugfixes at all, or do program feature updates. I prefer this model, since it’s easier to manage than having separate types of package updates. It ensures absolute stability, a guarantee that the system tomorrow will behave the same as it did yesterday, while still enabling automatic security updates. This model is ideal for a server I don’t want to babysit, or for your grandpa who loses his mind when the button he is supposed to click was moved one spot over.
In addition to that, I like the policy of automatic reboots. With the stable, slow moving nature of both distros, it’s safe to automatically reboot to ensure that kernel vulnerabilities, or vulnerabilities in other critical systems are fixed. Automatic updates and reboots can be the difference between someone being able to escape a docker container or someone not being able to.
There is one thing to note, is that adding additional repos (or PPA’s which technically you aren’t supposed to work on Debian), can be dangerous, and you have to be careful: wiki.debian.org/DontBreakDebian/#Don.27t_make_a_F…
The main problem is that if a third party repo and Debian provide the same package, and the system is configured to prefer the third party repo, then you can be installing a potential dependency to the rest of your system that isn’t actually tested against your system, or compatible.
You have to be really careful to ensure that the programs in the repo are actually built and designed for your system, and also that the your system does not default to installing them.
Third party repos also break the guarantee of stability that automatic updates depend on. Third party repos don’t have a separate security channel, so Ubuntu will probably avoid touching them, even if critical security fixes are needed. Debian will update them, but unlike Debian’s packages, the overall program updates won’t be guaranteed to be behave the same due to potential major/minor version changes.
For example, if you get Docker from docker’s repo instead of Debian’s/Ubuntu’s, now your version of docker can no longer auto update and receive potential security fixes safely.
- Comment on Looking for a solution for training videos/courses (+ big list of LMS software) 5 weeks ago:
What made moodle frustrating?
I have also heard the opposite take, that canvas sucks and moodle is great.
Did you use it as a student/user, or as an administrator?
- Comment on Looking for a solution for training videos/courses (+ big list of LMS software) 5 weeks ago:
There is also moodle.
Canvas and moodle are really popular in schools and universities.
- Comment on what's the simple way to map services to subdomains instead of specifying the port number? 1 month ago:
It looks like criticisms similar to mine were offered in the comments of the youtube video you linked at first, and now the youtuber has released a second video, a correction. In this video he uses nginx proxy manager and DNS-01 challenges:
www.youtube.com/watch?v=XEltHEZU6aE
Big respect for doing that.
- Comment on what's the simple way to map services to subdomains instead of specifying the port number? 1 month ago:
You can use local certs with nginx proxy manager as well. You can upload certs via the web ui.
Rather than local certs though, I would recommend buying a domain and using it locally, with https. The problem with the local cert approach outlined in the video, is that importing a root cert opens up a big security hole to MITM attacks. If an attacker gets the root certificate, they can now MITM everything else your browser is accessing. You turn the browser from one of the most secure components of a modern OS, into only as secure as the server hosting the root certificates.
The approach I would prefer, is to buy a domain, and use it locally, using DNS-01 challenges to get letsencrypt signed certificates even from within an internal network. Both Caddy and NPM have support for DNS-01 challenges.
- Comment on Rayfish, Iroh and Yggdrasil 1 month ago:
No, they are trivial to block using techniques like deep package inspection.
In addition to that, they aren’t truly decentralized (no decentralized network really is), both rely on relay/bootstrap servers to start up the connection. So, if you block the public relay/bootstrap servers, you effectively block access to the network.
Tailscale, netbird also can traverse NAT.
Iroh (the actually pretty interesting software which the vibecoded rayfish is based on) and Yggdrassil do have their uses, but evading blocks isn’t one of them.
- Comment on what's the simple way to map services to subdomains instead of specifying the port number? 1 month ago:
You want a reverse proxy. A reverse proxy reads requests to subdomains and then forwards them to ports and back.
The easiest GUI one is: nginxproxymanager.com
But there is also just straight nginx, or you can use Caddy or traefik or anything else.
- Comment on How much do you secure a home server that's only accessible with VPN? 1 month ago:
Yes, I do lock it down. It’s still worth securing it because internal servers" can still get exposed and touched, even though there are less paths to them, and it’s not as punishing to slip up vs a public server. For example, One of the wireguard client devices downloads a virus, and now you have a cyberattacker with access.
Another problem is supply chain issues. If the distributor of a docker container is hacked, it’s not that bad… as long as your kernel is up to date and is protected against some of the recent vulns, that would enable someone to break out of a docker container
Blajah.zone’s lemmy instance was hacked partially becuase internal servers
pen.blahaj.zone/supakaity/weve-been-hacked
I had not patched these internal servers that nobody should have access to against this. Rebooting DB servers causes downtime, and in my hubris – I thought nobody should (nay COULD) be on my servers except me, right?
I have a comment on that post with some potential solutions, that would have cut off attack paths.
Though, I guess, it still does depend. Like if it’s just gonna you wireguarding in and no one else, then the data on your devices is probably worth more than the data on the server, so no, it wouldn’t be worth spending too much effort to secure less valuable data.
But if you are handing out internal access to people, including to some relative who keeps falling for scammers, then yeah, I’d take some time to harden the systems.
- Comment on NutriTrace v1.0.0-rc.53 released: statistics reorder + hide, bulk delete on Foods/Meals/Recipes, OFF serving sizes 2 months ago:
programming.dev/comment/24515044
Same problem is present here. Uses JWT’s for auth.
- Comment on Example Flux Kubernetes Setups 2 months ago:
I don’t use a UI.
I don’t use flux’s kustomize (there is also kustomize by kubernetes.
I use flux for installing helm charts, mostly.
Repo: github.com/moonpiedumplings/flux-config
It’s not up right now though. I am currently revamping it, which will also involve reorganizing the repo. I really dislike that I didn’t use (flux’s) kustomize, which is one of the things I would like to fix.
I’m on my phone rn, if I get to this post again from my computer later I will add longer/further thoughts.
- Comment on Setting up local Caddy with Porkbun 2 months ago:
Second comment, but if you need/want Caddy we can help that too. It looks like the documentation link in the github page you linked is dead, and the correct one is: caddyserver.com/docs/json/apps/tls/…/acme/
I found that from this page: caddy.community/t/…/8148
- Comment on Setting up local Caddy with Porkbun 2 months ago:
Setup legit Let’s Encrypt as wildcard locally to test services at *example.domain.com, then put them into production on mainsite wildcard *.domain.com on VPS or similar.
Just to be clear, why wouldn’t simply provisioning a certificate for each subdomain under the wildcard work?
Like, if you have a test site test.example.domain.com, you could have nginx (using acme) create a certificate for that. And then when you move to test.domain.com, nginx would do the same thing.
Now, technically letsencrypt does have a rate limit, but it’s a fairly generous rate limit:
Up to 50 certificates can be issued per registered domain (or IPv4 address, or IPv6 /64 range) every 7 days. This is a global limit, and all new order requests, regardless of which account submits them, count towards this limit. The ability to issue new certificates for the same registered domain refills at a rate of 1 certificate every 202 minutes.
I would do my testing this way, and I didn’t hit any limits, although I was careful to keep certificates and reuse them, and to not spam.
If you need more domains with SSL than that rate limit would provide, then it would make sense to investigate Caddy with porkbun, since DNS-01 challenges are the only way to get wildcard certificates, which apply to a whole wildcard.
- Comment on ArchiveBox or similar for shared archiving of research project 2 months ago:
One downside is that the cached file is not independently archived so it could be tampered with. Thanks for the idea.
You could have multiple researchers archive it and store copies independently. Then tampering would show up accross copies.
Unfortunately, central hosting doesn’t guarantee that it is tamper free. The host could be hacked, or could be malicious. Archive.is was caught tampering with their archived pages:
- Comment on ArchiveBox or similar for shared archiving of research project 2 months ago:
Check out Zotero: www.zotero.org
Zotero is an open source bibliography manager. It’s my main go to tool for generating works cited pages, like during essays.
But, it also has a browser extension, which can then download, and archive sites or academic articles you are adding to the sources. I would then use the fulltext search that zotero provides for easy searching of sources.
Unfortunately, it’s not hosted, which would make it difficult to share.
- Comment on DepthSight - a self-hosted, federated algorithmic trading platform with a visual strategy builder (AGPL) 2 months ago:
Calling an enterprise-grade platform
Except you use JWT’s for auth, which is idiotic and a security nightmare. No enterprise that cares about security would ever accept this.
More info: gist.github.com/…/0d1f3d3b4745d778f78b230cf606145…
There are other problems, some of which I can see… and some of which I can’t. The problem is that I am not a comprehensive expert, I can only spot a few things here and there. Even if I was an expert, why would I audit your software for free lmao? Pay me for that shit.
What I do know, is that vibecoded apps are bad at security. Many, many vibecoded apps have been hit by horrific security bugs like remote code execution, xss, or authentication bypasses. That shit is simply unacceptable and should be extremely rare in modern apps. The fact that I’m not skilled enough to find them reliably makes me even more cautious and concerned around apps like yours.
It’s not just about the app architecture, but also about you. When a known community figure creates an app, I have confidence that they will have a good security posture and architecture. With vibecoding… not so much.
If you have an actual architectural critique
Nice bait, but the problem is this: Just because you get people to
audit“critique” your software, doesn’t fix the root cause of those problems — you. Just because you manage to re-vibecode the app to not use JWT’s or to fix any other number of issues someone would point out, doesn’t actually mean more issues exist that that person missed. Like if someone specialized in python, then they might miss database issues, and so on. The second problem is that inevitably, you will expand this software, adding more features… and vulnerabilities. That is to say, even if you manage to fix the architecture and security now, you have not demonstrated the requisite skill needed in order to keep it fixed. - Comment on [META] Are paid for closer source advertising appropriate? 2 months ago:
What if the new account user, who is working on a product that integrates with what the vast majority of selfhosters run, just found Lemmy?
This happens on Reddit, and basically my problem is that these users often don’t have enough experience to be able to actually give solutions. Reddit is full of people who think they have a good solution, dealing with comments of people explaining that what they are struggling with is actually a solved problem (or a skill issue). No one cares about your vibecoded slop that implements 1% of the features of an existing open source solution (they used to not be vibecoded but we still didn’t care). It being paid and proprietary is just even more annoying.
My idea of requirement to engage with the community is also about being able to ensure that the users are technically competent. If they are experienced, it will show up in the discussions we can see in the review. If they lurk, then they can take a look at what is being used, and what problems actually exist, instead of making assumptions.
If they really believe their product is so good, they can spend a few weeks helping people with Linux questions and sharing their (non product related) insightful thoughts on Lemmy so I don’t dismiss them instantly when they finally advertise it.
- Comment on [META] Are paid for closer source advertising appropriate? 2 months ago:
It is possible to detect and moderate them, as long as your mods haven’t been disappeared and replaced by people who’s job is to accept bribes. And also when we can actually see people’s history, since reddit now has an option to hide your history from others because of course.
My usual method is to focus on content, rather than writing style. The AI bots can write a lot, or be brief, or whatever, but they don’t actually contribute to the discussion. They just kinda paraphrase and restate what has been said, or when trying to sell a product they disagree and go “Are you sure this isn’t an problem?” to everybody in the thread telling them that it’s actually a skill issue.
Sometimes they’ll be a little better, but it’s often surface level stuff that can be found at the top of a google search of keywords.
This also makes it possible to tell the difference between ESL speakers who are using AI to clean up their writing style, and true bots. Since the ESL speakers will actually have something to say, but bots won’t.
And then: xkcd.com/810/
- Comment on [META] Are paid for closer source advertising appropriate? 2 months ago:
Unraid is an example, that I consider fairly reasonable. Sure, it is a subscription.
But all of the services are docker containers. What unraid brings to the table is a nice management UI, and the ability to mix and match drive of different sizes in a single raid pool. It makes having a fairly resilient self hosting setup easier than trying to do all of this stuff from scratch.
Nice features sure, that many people find worth paying for, even if I don’t. But they are just nice to haves. If the company ever dies, it’s absolutely possible to export the data and move to say, portainer, or docker via the cli, or podman, or anything that can run containers.
- Comment on [META] Are paid for closer source advertising appropriate? 2 months ago:
On reddit, there is a community called r/progressionfantasy, which is about a specific type of fantasy fiction. They have a rule that self promotional posts (for paid books) must be preceeded by 10 comments, and actual engagement with the community.
This is a reasonable compromise, in my opinion. Known community member who has been answering questions and contributiting to discussions?
I would be okay if they dropped a paid product of good quality and with a reasonable business model (please no vibecoded slop).
But drive by ProductNameAccount users who have never posted on lemmy before a bunch of self promotional posts? Yeah ban that shit.
- Comment on What apps do you use to listen music at work/on phone? 2 months ago:
I use Vanilla music. It was the only music player I found that would keep my place in my long running playlist that I have on shuffle all the time. It gets through all the songs, shuffles, and then queues through all the songs again. Other players I tested would forget the place, or that music was playing in the first place, and that was frustrating.
I stream it to my computer by connecting my phone to my computer via Bluetooth. I think it’s was a new KDE feature, but now my Linux laptop will pretend to be a headset/speakers, and the Android phone will just play to it. It’s so amazing. Because then I can listen to audio from both my phone and my computer at once pretty easily, and keep my spot in that one playlist I keep running. Unfortunately, it has an annoying issue where it drops out (but doesn’t pause the audio) when the CPU is used too much. Lemmy post: programming.dev/post/45725312
When I want a more reliable setup, like when I am compiling things, I usually plug my phone into my computer and use srcpy which can stream the android screen to the computer over ADB, but I just stream the audio, since that’s all I care about.