dan

joined 3 years ago
[–] dan@upvote.au 2 points 3 days ago (3 children)

Interesting! I wonder why I was hitting the memory deadlock on boot, but yours booted OK.

I might run a local VM, use dietpi, then clone the resulting VM to the hosting provider using Clonezilla.

[–] dan@upvote.au 5 points 3 days ago* (last edited 3 days ago)

PHP (god forbid you should need it) is a right mess on alpine. Mongodb will not work on alpine.

Thankfully all I need is my app, Certbot, and a few standard utilities (ping, traceroute, mtr), and my app works fine with musl. Not a complex setup at all.

The entire setup for the worker app is in this Ansible role: https://github.com/Daniel15/dnstools/blob/master/ansible/roles/dnstools-worker/tasks/main.yml

[–] dan@upvote.au 4 points 3 days ago

I'm currently trying Alpine, but I'll try this out too!

[–] dan@upvote.au 5 points 3 days ago* (last edited 3 days ago)

The 25 locations are a bare minimum Debian installation with just my app, SSH (for management), Certbot (for TLS certs), and a few other utilities (ping, traceroute, mtr) added. The app uses ~60MB RAM so it's not an issue.

The site accesses each location using gRPC over a persistent connection.

The code is open-source if you're curious: https://github.com/Daniel15/dnstools

[–] dan@upvote.au 2 points 3 days ago

Some are from https://hosting.gullo.me/. They even still offer 128 MB for $3.50/year, or around $2/year during Black Friday :). These are OpenVZ so they're not an issue though.

Some are from https://natvps.net/ but it looks like they no longer offer them for sale - their lowest is 512MB RAM now.

[–] dan@upvote.au 6 points 3 days ago

Thanks for the link!

I'm trying Alpine locally in a VM with 256MB RAM, and so far so good. I got my app successfully cross-compiled using musl-gcc, rsync'd it over, and it starts on the VM with no issues. Now I just need to figure out all the stuff around it (like certbot) and do some more thorough testing. I use an Ansible playbook to deploy to the Debian servers, so I've got to update it to handle Alpine too.

[–] dan@upvote.au 1 points 3 days ago (2 children)

I've installed Debian Buster, Bullseye and Bookworm on these systems from the netinst ISO, with no tweaking needed. Trixie is the first release where I've been unable to do this, and even upgrading the system doesn't work (hits a memory deadlock on boot).

[–] dan@upvote.au 1 points 3 days ago (2 children)

Does it support a server installation (no GUI)?

[–] dan@upvote.au 3 points 3 days ago* (last edited 3 days ago) (3 children)

Even if I avoid the installer (e.g. by cloning an existing system, or by installing an older version of Debian then upgrading it), and have swap space, the kernel hits a memory deadlock on boot. I suspect it's deadlocking before swap is initialized.

[–] dan@upvote.au 4 points 3 days ago* (last edited 3 days ago)

I've considered this, it just might be a pain to keep up to date with kernel updates. I guess I could create an appropriate config and then automate the builds.

I also forgot that Debian has a cloud-specific kernel (linux-image-cloud-amd64) which excludes a bunch of drivers. I'll try that out too.

The other thing on my list to try is mmdebstrap with a basic Debian install, using runit or openrc instead of systemd.

[–] dan@upvote.au 7 points 5 days ago* (last edited 5 days ago)

Stop accepting free with ads as a way to use things you really care about.

A lot of people can't afford to pay for every website and webapp they use. Not everyone is in a first-world country with a lot of discretionary income.

WhatsApp (pre Meta acquisition) used to charge $1/year and even that was a barrier for a significant number of users, particularly in developing countries.

The only free models that work are either to use ads, to have a freemium service (where the paid users subsidize the free users), or to have someone else cover the cost for you (which is how it works on most Lemmy servers for example).

[–] dan@upvote.au 1 points 5 days ago

Interesting - I've never heard of this but it looks useful. Love that it supports OIDC. Thanks for the link.

view more: ‹ prev next ›