Top
Best
New

Posted by meetpateltech 20 hours ago

The web server deployment model breaks at hobby scale(w.on-t.work)
63 points | 67 commentspage 2
glaslong 19 hours ago|
I literally just sent some friends a docker image and told them to point Luna at it, for which they were set up in ~20minutes and $3 of tokens, so I'm skeptical.

My homelab is also currently ~40 nix service VM's plus a handful of Ubuntu, etc long tail, and some external DO droplets for NAT, and a more robust vlan config than I'd ever been able to put time towards before... which I haven't had to do more than a dozen hours of manual setup on IN TOTAL thanks to Fable, Sol and local Qwen.

There's truth in this post, but I doubt it's longevity.

KnightHawk3 19 hours ago|
Why split the nix into so many VMs instead of just systemd units?
glaslong 18 hours ago||
They're not all tooootally atomic, I have clustered things like libation+audiobookshelf, ollama+ds4+litellm, but I like that I can manage things almost entirely at the network and host level, generally atomically per service, and especially between services (eg homeassistant and the local ai).

It's DEFINITIVELY overkill, and fills up fast, but nix making everything near fully declarative to roll fwd/back or shuffle between proxmox hosts at any time makes for a clean and easy mental model. Both for me and the AI, because it can infinitely retry a nix flake config until it gets it perfect.

lee_ars 17 hours ago||
Sounds like a poster child for LXC containerization with Proxmox — all the host-level management of a non-ephemeral VM (including snapshots!), without the every-machine-has-its-own-kernel overhead.
glaslong 17 hours ago||
I do have a couple LXC for the things that need tight GPU control. Ollama and DS4 permanently, and an ml-workbench that steals the 3090 from my Cachy gaming VM when I get it in my head that I could try implementing some cool gsplats paper haha.

I could definitely slim things down without disko, virtio, etc, and especially whole separate kernels.. but it's also not such a huge diff that I mind. I'm not adding new services all that fast anymore now that I've got my basics + wishlist set up, so I'll grab another box from the local pc recycler if I ever need space for another ~30 VMs some day rather than when I need space for another ~40-50 LXCs.

And in the meantime if OpenAI publishes a scary brag about how GPT-7 popped a shared kernel on accident I can be relieved that my private bookmarks repo isn't vulnerable while the internet burns down.

iamcreasy 16 hours ago||
Interesting read.

> you see that the reverse proxying rules you would need are more complicated than usual. you can’t Simply forward /api to your application and the rest to the frontend due to various reasons outside your control.

If the author is reading: Can you elaborate on what reason you are referring to that are outside my control?

wainstead 18 hours ago||
> you have enough interactivity to warrant a single-page-application as your frontend. however, you also want people without javascript enabled to be able to read the bits that don’t require interaction.

I think at this point it's not a hobby, it's a burden.

axus 18 hours ago||
These all seem useful warnings to me, I'm vibing something for hobby scale. The installation script was the one place I needed to reorganize and make a lot of human-powered changes. And I haven't even distributed it yet :)
horsawlarway 18 hours ago||
Most of these problems are actually solved with containers, though.

An opinionated release of k8s (k3s, microk8s, etc) does wonders for making much of it just disappear.

You pay a slightly higher up front cost in complexity, in return for largely removing absolutely all the listed problems in this blog.

If you're going to run more than just one app... It's the route I'd recommend.

I think the market is already moving here, too. Synology is exposing very easy interfaces to run container workloads on their devices.

I think we're headed towards something like a combo NAS/router that handles storage and networking (by far the hardest parts of hosting).

ctoth 17 hours ago||
At hobby scale, why aren't you using Dreamhost + Php for the dynamic bits like we did 20 years ago? It still works!
JodieBenitez 18 hours ago||
Damn, what a downer...

Hobby scale you said ? It doesn't have to be that complicated.

sam_lowry_ 19 hours ago||
This is only tangentially related, but I have a love-hate relationship with Immich. Love for everything, but loads of hate for the bug-o-feature that disallows sharing of albums if the website is not hosted over HTTPS.

I can fiddle with the page content in Developer Tools to make it work, but frankly, WTF, especially since Immich expects people to set up a reverse proxy for HTTPS access on their own and does not help them in any way (like providing a pre-configured caddy in their compose.yaml, I don't know)

AussieWog93 19 hours ago|
Honestly, this is a problem that has been solved by LLMs. Just point Claude Code to the server over SSH and say "We need Immich to be served over HTTPS".

You could theoretically upstream the fixed compose.yaml if you felt like it, but the project seemed unusually hostile towards the one fix I tried to upstream.

smw 18 hours ago||
Here's the entirety of the Caddy config to reverse proxy something with managed tls certs. I feel like it's not that big a deal?

  photos.example.com {
          reverse_proxy 127.0.0.1:8080 {
                  header_up X-Real-IP {remote_host}
          }
  }
crtasm 18 hours ago|||
caddy passes on the source IP by default so it's even easier than that

    photos.example.com {
        reverse_proxy 127.0.0.1:8080
    }

the immich documentation covers this as well as nginx, apache and traefik https://docs.immich.app/administration/reverse-proxy
sam_lowry_ 17 hours ago||
Heh... I self-host Immich with Caddy, and it's more complex, really. Caddy runs in podman, there are firewall rules to allow traffic in and out and proper dependencies in systemd units and a readme that covers all that. Exactly the point OP is making.

All because we forced TLS on everyone instead of solving the JS injection problem in some other alternative way. Like... legal, maybe?

skydhash 19 hours ago||
All of those requirements seem weird. I selfhost a few software and the user count is one. My extent at sysadmin is to write a systemd service, configure the proxy (if it’s on a vps and I use subdomains), and maybe use ansible for scripting the provisioning and deploy.

It’s fine to publish recommendations how to tune configurations for specific usages. But I only need the app, not the various things that you may think I need. And I really want the app to only solve its essential problem. It should not take care of the IT part other than providing configuration samples.

jermaustin1 19 hours ago|
And I do `docker compose up` now with a caddy server in front of docker, so I can just add a new site (sub domain or directory) that reverse proxies to that docker container's port. And the beauty is, that I have a skill for it for claude code, so I actually don't have to do any of that for my local self-hosted stuff.

I just call /publish-local-docker subdomain.mydomain.local

And if there isn't a docker compose, it will create one, and then run it, and update caddy server on its own.

skydhash 18 hours ago||
[dead]
Dotnaught 19 hours ago|
Perhaps the article's title should be, "The web has become a hostile, largely automated environment and naive hobbyists may find it difficult to coexist with professional scrapers, scammers, grifters, bots, hucksters, and cybercriminals."
More comments...