zlacker

CLI agents make self-hosting on a home server easier and fun

submitted by websku+(OP) on 2026-01-11 21:29:57 | 775 points 549 comments
[view article] [source] [go to bottom]

NOTE: showing posts with links only show all posts
7. efilif+m8[view] [source] 2026-01-11 22:13:10
>>websku+(OP)
how many times will I get clickbaited by some cool title only to see AI praise in the article and nothing more? It's tiring and happens way too often

related "webdev is fun again": claude. https://ma.ttias.be/web-development-is-fun-again/

Also the "Why it matters" in the article. I thought it's a jab at AI-generated articles but it starts too look like the article was AI written as well

◧◩
21. keybor+Ma[view] [source] [discussion] 2026-01-11 22:23:46
>>efilif+m8
Everything is now not-niche but on the cusp of hitting the mainstream. Like Formal Methods.[1] But they were nice enough to put it in the title. Then tptacek replied that he “called it a little bit” because of: Did Semgrep Just Get A Lot More Interesting?[2] (Why? What could the reason be?)

[1] https://martin.kleppmann.com/2025/12/08/ai-formal-verificati...

[2]: https://fly.io/blog/semgrep-but-for-real-now/

37. benzgu+dd[view] [source] 2026-01-11 22:37:41
>>websku+(OP)
Great post! Totally agree – agents like Claude Code make self-hosting a lot more realistic and low maintenance for the average dev.

We've gone a step further, and made this even easier with https://zo.computer

You get a server, and a lot of useful built-in functionality (like the ability to text with your server)

40. chaz6+Bd[view] [source] 2026-01-11 22:39:35
>>websku+(OP)
I would really like some kind of agnostic backup protocol, so I can simply configure my backup endpoint using an environment variable (e.g. `-e BACKUP_ENDPOINT=https://backup.example.com/backup -e BACKUP_IDENTIFIER=xxxxx`), then the application can push a backup on a regular schedule. If I need to restore a backup, I log onto the backup app, select a backup file and generate a one time code which I can enter into the application to retrieve the data. To set up a new application for backups, you would enter a friendly name into the backup application and it would generate a key for use in the application.
◧◩◪
41. heavys+Nd[view] [source] [discussion] 2026-01-11 22:40:42
>>drnick+ab
> I'd rather expose a Wireguard port and control my keys than introduce a third party like Tailscale.

This is what I do. You can do Tailscale like access using things like Pangolin[0].

You can also use a bastion host, or block all ports and set up Tor or i2p, and then anyone that even wants to talk to your server will need to know cryptographic keys to route traffic to it at all, on top of your SSH/WG/etc keys.

> I am not sure why people are so afraid of exposing ports. I have dozens of ports open on my server including SMTP, IMAP(S), HTTP(S), various game servers and don't see a problem with that.

This is what I don't do. Anything that needs real internet access like mail, raw web access, etc gets its own VPS where an attack will stay isolated, which is important as more self-hosted services are implemented using things like React and Next[1].

[0] https://github.com/fosrl/pangolin

[1] >>46136026

47. elemdo+nf[view] [source] 2026-01-11 22:49:31
>>websku+(OP)
I’ve also found AI to be super helpful for self-hosting but in a different way. I set up a Pocketbase instance with a Lovable-like app on top (repo here: https://github.com/tinykit-studio/tinykit) so I can just pull out my phone, vibecode something, and then instantly host it on the one server with a bunch of other apps. I’ve built a bunch of stuff for myself (journal, CRM, guitar tuner) but my favorite thing has been a period tracker for a close friend who didn’t want that data tracked + sold.
48. 1shoon+uf[view] [source] 2026-01-11 22:50:47
>>websku+(OP)
Others here mention Coolify for a homeserver. If you're looking for turnkey docker-compose based apps rather than just framework/runtime environments, I will recommend the runtipi project. I have found it to be simple and flexible. It offers an 'app store' like interface, and supports hosting your own app store. It manages certs and reverse proxy via traefik as well.

https://runtipi.io/

51. austin+3h[view] [source] 2026-01-11 23:00:54
>>websku+(OP)
I have found that storage is up in price more than 60% from last year.

I am writing a personal application to simplify home server administration if anybody is interested: https://github.com/prettydiff/aphorio

◧◩
55. indigo+vi[view] [source] [discussion] 2026-01-11 23:10:42
>>1shoon+uf
Cosmos Cloud is great too. I use it on a free tier OCI Ampere 24G VM

https://cosmos-cloud.io/

◧◩◪
87. zamada+zo[view] [source] [discussion] 2026-01-11 23:51:10
>>drnick+ab
It's the way the internet was meant to work but it doesn't make it any easier. Even when everything is in containers/VMs/users, if you don't put a decent amount of additional effort into automatic updates and keeping that context hardened as you tinker with it it's quite annoying when it gets pwned.

There was a popular post less than a month ago about this recently >>46305585

I agree maintaining wireguard is a good compromise. It may not be "the way the internet was intended to work" but it lets you keep something which feels very close without relying on a 3rd party or exposing everything directly. On top of that, it's really not any more work than Tailscale to maintain.

◧◩◪◨
114. drnick+vr[view] [source] [discussion] 2026-01-12 00:15:04
>>zamada+zo
> There was a popular post less than a month ago about this recently >>46305585

This incident precisely shows that containerization worked as intended and protected the host.

◧◩◪◨
133. Frotag+2v[view] [source] [discussion] 2026-01-12 00:42:53
>>Frotag+sq
I guess I'm looking for wireguard's version of STUN. And now that I know what to google for, finally found some promising leads.

https://github.com/jwhited/wgsd

https://www.jordanwhited.com/posts/wireguard-endpoint-discov...

https://github.com/tjjh89017/stunmesh-go

◧◩◪
137. alpn+2w[view] [source] [discussion] 2026-01-12 00:49:58
>>drnick+ab
> I'd rather expose a Wireguard port and control my keys than introduce a third party like Tailscale.

I’m working on a (free) service that lets you have it both ways. It’s a thin layer on top of vanilla WireGuard that handles NAT traversal and endpoint updates so you don’t need to expose any ports, while leaving you in full control of your own keys and network topology.

https://wireplug.org

◧◩
164. Imusta+9z[view] [source] [discussion] 2026-01-12 01:13:08
>>thrown+Os
Hey, if tailscale is something you are worried about. There are open source alternatives to it as well but I think if your purpose is to just port forward a simple server port, wouldn't ssh in general itself be okay with you.

You can even self host tailscale via headscale but I don't know how the experience goes but there are some genuine open source software like netbird,zerotier etc. as well

You could also if interested just go the normal wireguard route. It really depends on your use case but for you in this case, ssh use case seems normal.

You could even use this with termux in android + ssh access via dropbear I think if you want. Tailscale is mainly for convenience tho and not having to deal with nats and everything

But I feel like your home server might be behind a nat and in that case, what I recommend you to do is probably A) run it in tor or https://gitlab.com/CGamesPlay/qtm which uses iroh's instance but you can self host it too or B (recommended): Get a unlimited traffic cheap vps (I recommend Upcloud,OVH,hetzner) which would cost around 3-4$ per month and then install something like remotemoe https://github.com/fasmide/remotemoe or anything similar to it effectively like a proxy.

Sorry if I went a little overkill tho lol. I have played too much on these things so I may be overarchitecting stuff but if you genuinely want self hosting to the extreme self, tor.onion's or i2p might benefit ya but even buying a vps can be a good step up

> I was in another country when there was a power outage at home. My internet went down, the server restart but couldn't reconnect anymore because the optical network router also had some problems after the power outage. I could ask my folks to restart, and turn on off things but nothing more than that. So I couldn't reach my Nextcloud instance and other stuff. Maybe an uninterruptible power supply could have helped but the more I was thinking about it after just didn't really worth the hassle anymore. Add a UPS okay. But why not add a dual WAN failover router for extra security if the internet goes down again? etc. It's a bottomless pit (like most hobbies tbh)

Laptops have in built ups and are cheap, Laptops and refurbished servers are good entry point imo and I feel like sure its a bottomless pit but the benefits are well worth it and at a point you have to look at trade offs and everything and personally laptops/refurbished or resale servers are that for me. In fact, I used to run a git server on an android tab for some time but been too lazy to figure out if I want it to charge permanently or what

◧◩◪◨⬒
182. Imusta+oD[view] [source] [discussion] 2026-01-12 01:40:04
>>edoceo+pl
I understand where you are coming from but no, containers aren't enough isolation.

If you are running some public service, it might have bugs and of course we see some RCE issues as well or there can be some misconfig and containers by default dont provide enough security if an hacker tries to break in. Containers aren't secure in that sense.

Virtual machines are the intended use case for that. But they can be full of friction at time.

If you want something of a middle compromise, I can't recommend incus enough. https://linuxcontainers.org/incus/

It allows you to setup vm's as containers and even provides a web ui and provides the amount of isolation that you can trust (usually) everything on.

I'd say to not take chances with your home server because that server can be inside your firewall and can infect on a worst case scenario other devices but virtualization with things like incus or proxmox (another well respected tool) are the safest and provide isolation that you can trust with. I highly recommend that you should take a look at it if you deploy public serving services.

◧◩◪◨
201. Imusta+WI[view] [source] [discussion] 2026-01-12 02:16:24
>>CGames+NF
Oh yeah this is a really funny story considering what thread we are on, but I remember asking chatgpt or claude or gemini or anything xD to make QTM work and none of them could figure out

But I think in the end what ended up working was my frustration took over and I just copy pasted the commands from readme and if I remember correctly, they just worked.

This is really ironical considering on what thread we are on but in the end, Good readme's make self hosting on a home server easier and fun xD

(I don't exactly remember chatgpt's conversations, perhaps they might have helped a bit or not, but I am 99% sure that it was your readme which ended up helping and chatgpt etc. in fact took an hour or more and genuinely frustrated me from what I remember vaguely)

I hope QTM reaches more traction. Its build on solid primitives.

One thing I genuinely want you to perhaps take a look at if possible is creating an additional piece of software or adding the functionality where instead of the careful dance that we have to make it work (like we have to send two large data pieces from two computers, I had to use some hacky solution like piping server or wormhole itself for it)

So what I am asking is if there could be a possibility that you can make the initial node pairing (ticket?) [Sorry, I forgot the name of primitive] between A and B, you use wormhole itself and now instead of these two having to send large chunks of data between each other, they can now just send 6 words or similar

Wormhole: https://github.com/magic-wormhole/magic-wormhole

I even remember building some of my own CLI for something liek this and using chatgpt to build it xD but in the end gave up because I wasn't familiar with the codebase or how to make these two work together but I hope that you can add it. I sincerely hope so.

Another minor suggestion I feel like giving is to please have asciinema demo. I will create an asciinema patch if you want between two computers but a working demo gif from 0 -> running really really would've helped me save some/few hours

QTM has lots of potential. Iroh is so sane, it can run directly on top of ipv4 itself and talk directly if possible but it can even break through nats and you can even self host the middle part itself. I had thought about building such a project when I had first discovered QTM and you can just imagine my joy when I discovered QTM from one of your comments a long time ago for what its worth

Wishing the best of luck of your project! The idea is very fascinating. I would appreciate a visual demo a lot though and I hope we can discuss more!

Edit: I remember that qtm docs had this issue of where they really felt complex for me personally when all I wanted was one computer port mapped to another computer port and I think what helped in the end was the 4th comment if I remember correctly, I might have used LLM assistance or not or if it helped or not, I genuinely don't remember but it definitely took me an hour or two to figure things out but its okay since I still feel like the software is definitely positive and this might have been a skill issue from my side but I just want if you can add asciinema docs, I can't stress it enough if possible on how much it can genuinely help an average person to figure out the product.

(Slowly move towards the complex setups with asciinema demos for each of them if you wish)

Once again good luck! I can't stress qtm and I still strongly urge everyone to try qtm once https://gitlab.com/CGamesPlay/qtm since its highly relevant to the discussion

◧◩◪◨
225. aarona+sU[view] [source] [discussion] 2026-01-12 03:44:15
>>dangoo+09
Supermicro has some low power options such as https://www.supermicro.com/en/products/system/Mini-ITX/SYS-E...
◧◩◪◨⬒
256. CGames+i41[view] [source] [discussion] 2026-01-12 05:28:03
>>Imusta+WI
You aren't actually supposed to ever need to deal with tickets manually, unless you are trying to get a tunnel between two machines and neither can SSH into the other. It could be streamlined with something like Magic Wormhole, though. I'll add that to the backlog and see if there's interest. The normal way is to use SSH / docker exec / any remote shell to let QTM swap the tickets over it.

I've added an asciinema to the README now <https://asciinema.org/a/z2cdsoVDVJu0gIGn>, showing the manual connection steps. Thanks for the kind words. Hope you find it useful!

◧◩
258. __Matr+u41[view] [source] [discussion] 2026-01-12 05:29:58
>>atmosx+Ca
I haven't tried it yet, but the evil twin to this practice is to nuke everything periodically to ensure that your agent isn't relying on any filesystem state that it hasn't specified builds for (i.e. https://grahamc.com/blog/erase-your-darlings/).

They tend to slip out of declarative mode and start making untracked changes to the system from time to time.

◧◩◪
262. catlif+O51[view] [source] [discussion] 2026-01-12 05:43:24
>>drnick+ab
Honestly the managed PKI is the main value-add from Tailscale over plain wireguard.

I’ve been meaning to give this a try this winter: https://github.com/juanfont/headscale

◧◩
278. timwis+ae1[view] [source] [discussion] 2026-01-12 06:59:48
>>thrown+Os
You can self-host Pocket ID (or another OIDC auth service) on a tiny $1/mo box and use that as your identity provider for Tailscale. Here's a video explaining how: https://www.youtube.com/watch?v=sPUkAm7yDlU
280. pmihay+me1[view] [source] 2026-01-12 07:02:17
>>websku+(OP)
I also built a "devops" agent on top of claude code like that - I deployed it on my server and let it debug all the gnarly infra issues for me.

I route it through a familiar interface like slack tho as I don't like to ssh from phone or w/e using a tool I built - https://www.claudecontrol.com/

◧◩◪
283. gorgoi+Ve1[view] [source] [discussion] 2026-01-12 07:08:04
>>zrail+Oy
2025 was the year of LiFePo power packs for me and my family. Absolute game changers: 1000Wh of power with a multi-socket inverter and UPS-like failover. You lose capacity over a gas genny but the simplicity and lack of fumes adds back a lot of value. If it’s sunny you can also make your own fuel.

https://www.ankersolix.com/ca/products/f2600-400w-portable-s...

289. everli+ri1[view] [source] 2026-01-12 07:43:18
>>websku+(OP)
I use coding agents for similar kind of problem very frequently. It makes wonders debugging obscure system issues related to components that I have no faintest idea about. Also building a homelab very soon. I think you may find this project useful: https://github.com/av/harbor
◧◩
298. hexfis+ml1[view] [source] [discussion] 2026-01-12 08:12:04
>>simonw+g6
Is Tailscale still recording metadata about all your connections? https://github.com/tailscale/tailscale/issues/16165
315. hmonta+6p1[view] [source] 2026-01-12 08:42:13
>>websku+(OP)
Love this. I run also all my stuff by myself and I’m not an infra expert by all means just know enough to self host my app and services. I also built an remote monitoring agent using Go and rails I call it https://bareagent.io which monitors servers, docker containers and sends notifications when in any of those containers an error occurres as it is attached to the container logs
318. pixelb+rp1[view] [source] 2026-01-12 08:44:52
>>websku+(OP)
I also started started experimenting with self-hosting in the last few years. Started with a simple Plex server, then gradually evolved my little setup into a handful of open-source apps that now cover most of what I use during my day to day.

There are a few important things to consider, like unstable IPs, home internet limits, and the occasional power issue. Cloud providers felt overpriced for what I needed, especially once storage was factored in.

In the end, I put together a small business where people can run their own Mac mini with a static IP: https://www.minimahost.com/

I’m continuing to work on it while keeping my regular software job. So far, the demand is not very high, or perhaps I am not great at marketing XD

◧◩◪
332. fartfe+gt1[view] [source] [discussion] 2026-01-12 09:16:11
>>miki12+Es1
Take a look at Zrok it might be what you want: https://zrok.io
343. hendry+ew1[view] [source] 2026-01-12 09:41:46
>>websku+(OP)
Timely! I just re-setup my Pi5 with the help of Claude. https://github.com/kaihendry/ai-pi

Tbh I did the mistake of throwing away Ansible, so testing my setup was a pain!

Since with AI, the focus should be on testing, perhaps it's sensible to drop Ansible for something like https://github.com/goss-org/goss

Things are happening so fast, I was impressed to see a Linux distro embrace using a SKILL.md! https://github.com/basecamp/omarchy/blob/master/default/omar...

373. jeena+TJ1[view] [source] 2026-01-12 11:28:53
>>websku+(OP)
I self host a lot of stuff myself: https://uptime.jeena.net/status/everything

And until now without AI, but I'm kind of curious but afraid that it will bring my servers down and then I can't roll back :D But perhaps if I would move over to NixOS, then it would be easy to roll back.

◧◩◪
413. river_+AX1[view] [source] [discussion] 2026-01-12 13:02:22
>>NicoJu+qE1
makes sense. You could look at something like https://github.com/musistudio/claude-code-router if at some point you're interested in going down that path. I've been using gpt-oss-20b which would fit on your GPU and I've found useful for basic tasks like recipe creation and agentic tool usage (I use it with Notion MCP tools)
◧◩◪◨⬒⬓⬔⧯▣▦▧▨◲
418. johnis+422[view] [source] [discussion] 2026-01-12 13:23:21
>>Infini+4R1
Thank you for your reply!

I am glad that it is useful to you! The "terrible search + outdated forum posts" problem is real for sure. LLMs genuinely help there by synthesizing across versions and explaining what changed.

I would say that self-hosting with AI assistance is the right approach. Use it to understand, not to blindly execute. Trust me, it is not much of a deal and you will be happy to have gone with this route afterwards!

Good luck with the setup. If you have any questions, let me know, I am always happy to help.

(I have very briefly mentioned some stuff here: >>46586406 but I can expand and be a bit more detailed as needed.)

◧◩
423. jordan+ya2[view] [source] [discussion] 2026-01-12 14:04:51
>>catlif+K41
yeah, for sure! i realize that and respect it. i wrote a little bit about it here actually: https://fulghum.io/fun2
◧◩
427. jordan+Sa2[view] [source] [discussion] 2026-01-12 14:07:00
>>compou+Ao1
hi, OP here. people have different reasons/motivations for doing stuff, right? i wrote about it here: https://fulghum.io/fun2
◧◩
428. jordan+ib2[view] [source] [discussion] 2026-01-12 14:08:27
>>visage+UP
yeah. I wrote a little about that here: https://fulghum.io/fun2
◧◩
437. jordan+si2[view] [source] [discussion] 2026-01-12 14:41:41
>>valcro+GR
who cares if I'm the CEO of an AI company? I didn't mention anything related to my company once in the post.

Wrote about learning and fun here: https://fulghum.io/fun2

464. kzahel+jW2[view] [source] 2026-01-12 17:35:08
>>websku+(OP)
As an added bonus you could add on a mobile-first claude code UI on top of claude. I've been working on this and use it on my pi5 at home. https://yepanywhere.com/

(and no, this product is not against TOS as it is using the official claude code SDK unlike opencode https://yepanywhere.com/tos-compliance.html)

◧◩◪◨⬒
470. epista+xZ2[view] [source] [discussion] 2026-01-12 17:51:26
>>tech_k+NS2
I use Tailscale for exactly those reasons, plus the easy SSL certificates and clients for Android and iOS.

From this thread, I've learned about Pangolin:

https://github.com/fosrl/pangolin

Which seems very compelling to me too. If it has apps that allow various devices connect to the VPN it might be worth it to me to trial using it instead of Tailscale...

◧◩◪
473. iLoveO+933[view] [source] [discussion] 2026-01-12 18:10:22
>>jordan+bk2
I've broken my internet many times by asking ChatGPt for help setting up PiHole as a DHCP server. I'll post conversation excerpts later if I remember.

It was just giving commands to run that were plain wrong and extremely destructive, and unless you already knew what they were doing you were screwed.

Here: https://chatgpt.com/share/696539b6-65f0-8010-9324-5e35da42ee...

I have 4-5 more conversations like this. It's honestly almost a piece of art, the LLM keeps spouting out shit like "Ah got it, your issue is clear now", and digging deeper into the wrong direction.

◧◩
474. ibizam+Q33[view] [source] [discussion] 2026-01-12 18:14:12
>>chaz6+Bd
I’m working on introducing this kind of protocol in NixOS. I called it contracts. https://github.com/NixOS/rfcs/pull/189

The idea is a contract is defined saying which options exist and what they mean. For backups, you’d get the Unix user doing the backup, what folders to backup and what patterns to exclude. But also what script can be run to create a backup and restore from a backup.

Then you’d get a contract consumer, the application to be backup, which declares what folders to backup either which users.

On the other side you have a contract provider, like Restic or Borgbackup which understand this contract and know thanks to it how to backup the application.

As the user, your role is just to plug-in a contract provider with a consumer. To choose which application backs up which application.

This can be applied to LDAP, SSO, secrets and more!

◧◩
475. ibizam+343[view] [source] [discussion] 2026-01-12 18:16:00
>>legojo+cP
You might be interested in checking out my project SelfHostBlocks which allows you to declaratively setup quite a few services with declarative LDAP and SSO integration with LLDAP and Authelia. Even if you don’t end up using it, it might inspire you. Also, all integrations are tested with NixOS VM tests using playwright to ensure no breakage.

https://github.com/ibizaman/selfhostblocks

◧◩◪
483. richwa+Ob3[view] [source] [discussion] 2026-01-12 18:52:34
>>Aurorn+KZ
Check out some non-lead acid battery solutions like: https://www.ecoflow.com/us/blog/use-portable-power-station-a...

Another maker is Goldenmate (less I be accused of being an ad)

◧◩◪◨⬒
523. mlrtim+oY4[view] [source] [discussion] 2026-01-13 11:02:38
>>ibizam+Tz3
Who would be your market exactly?

What you're describing is possible but you would need to market it differently if selling to non-tech people.

Now if you could make something like this https://oxide.computer/ for home users and make it affordable, that would be cool.

◧◩◪◨⬒⬓
533. dangus+t86[view] [source] [discussion] 2026-01-13 17:05:55
>>cryost+SO
I also learned this exists today: https://www.urbackup.org/
[go to top]