My servers are up
post
Nothing broke
I managed, without ever trying, to convert a friend to swap to Linux about a month ago.
Today I’m driving over to give him my old old server so he can start self hosting. He’s super keen on getting started.
So not my success, but ours? One more person joins the community today!
I'll go first: I got XMPP (Prosody) setup for the family.
Also, less this week (cheating a little), but I've setup all my services with SSL (self-hosted root CA), domain names, and (finally) a dashboard (Heimdall.)
Edit: I can't sepll.
Nice, same! Was also really positively surprised by how great the Android app(s) for XMPP feel.
Only thing not working yet for me is group chat creation. Oh well. Maybe this weekend.
On the other hand though, voice and video calls have worked flawlessly.
Nice, same! Was also really positively surprised by how great the Android app(s) for XMPP feel.
We're on iOS and I wish I could say the same. Looking at the Android apps makes me very jealous.
Only thing not working yet for me is group chat creation. Oh well. Maybe this weekend.
What server software are you using? I went with Prosody and it felt pretty easy to setup the muc module for groups, but, on the other hand, I haven't gotten around to voice and video calls.
Ah, too bad. IMO better clients would make it drastically easier to convince people to switch.
Hm, I can create groups (also with muc), and the other members are added, but writing a message triggers "x left the group" for everyone. Dunno. Probably something trivial I overlooked. But honestly... Weather is too good today to be bothered 😄
Ah, I already had a TURN/STUN coturn server set up for matrix and jitsi, so it was just a matter of telling prosody about that. So I cheated a little I guess 😄 Here is my full config for that, in the unlikely event that you're using NixOS.
Are you using sturn/turn server? Almost always needed for calls and video, you should join prosody support channel that are really helpful xmpp:prosody@conference.prosody.im?join
Nice, had my XMPP server now running for a couple of weeks, not many users on it so far though. But my highlight of the week was managing to get the slidge whatsapp bridge with Prosody running, so I at least don't have to use the official app anymore for all those people who resist to get off of it.
I finally got around to installing Jellyfin. Still trying to get hardware transcoding working. I think I have it set up, but it still wants to use the CPU. I'm thinking permissions but I ran out of time.
Fun project.
Decided to buy a raspberry pi, it arrived, I installed pihole on it and put it into my dad's house, all in a few days. Biggest win: I just took action and did it, instead of researching, brainstorming and writing down stuff for weeks and then never execute.
I plugged in an NVIDIA gpu in my server and enabled ollama to use it, diligently updated my public wiki about it and now enjoying real time gpt: OSS model responses!
I was amazed, time cut from 3-8 minutes down to seconds. I have a Intel Core7 with 48gb ram, but even an oldish gpu beats the crap out of it.
In that same vein I got an AMD Pro V620 32GB off ebay and have been struggling to get it to POST on my x570 motherboard, but I finally tried it on my old ASUS b450-i with a Ryzen 5 2400GE and with a few BIOS setting changes it fired right up.
Now I need to figure out what I'm doing wrong on the x570 board so I can run the V620 combined with my 9060XT for bigger models
What GPU and model you use?
NVIDIA Corporation GA104GL [RTX A4000] (rev a1)
From lspci
It has 16gb of VRAM, not too much but enough to run gpt:OSS 20b and a few other models pretty nice.
I noticed that it's better to stick to a single model, I imagine that unload and reload the model in VRAM takes time.
I finally buckled down and built a music server. I had a ton of FLAC from before sources but never found the right software stack to make it a good replacement for the typical streaming services.
It took about a month of beating/breaking/resetting and removing unnecessary software. In the end it was way simpler than I originally thought and required very minimal resources.
It may not really be selfhosting but, managed to get a live USB with persistence so that i don't need to carry a laptop around
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:
| Fewer Letters | More Letters |
|---|---|
| AP | WiFi Access Point |
| CA | (SSL) Certificate Authority |
| DHCP | Dynamic Host Configuration Protocol, automates assignment of IPs when connecting to a network |
| DNS | Domain Name Service/System |
| Git | Popular version control system, primarily for code |
| HTTP | Hypertext Transfer Protocol, the Web |
| IMAP | Internet Message Access Protocol for email |
| IP | Internet Protocol |
| MQTT | Message Queue Telemetry Transport point-to-point networking |
| NAS | Network-Attached Storage |
| SCP | Secure Copy encrypted file transfer tool, authenticates and transfers over SSH |
| SMTP | Simple Mail Transfer Protocol |
| SSD | Solid State Drive mass storage |
| SSH | Secure Shell for remote terminal access |
| SSL | Secure Sockets Layer, for transparent encryption |
| TLS | Transport Layer Security, supersedes SSL |
| VPN | Virtual Private Network |
| VPS | Virtual Private Server (opposed to shared hosting) |
| XMPP | Extensible Messaging and Presence Protocol ('Jabber') for open instant messaging |
| k8s | Kubernetes container management package |
| nginx | Popular HTTP server |
[Thread #142 for this comm, first seen 7th Mar 2026, 06:40] [FAQ] [Full list] [Contact] [Source code]
Reinstalled Dropbear for remote LUKS unlock after a SSD failure.
SSD failure was two weeks ago or I'd say rebuilding the server from backups and further polishing my Ansible playbook.
I solved my no display issue on my server. I couldn’t even get the BIOS on output. After taking the entire thing apart and testing all the components it turns out my Tv broke itself with a firmware update and couldn’t receive input on any of the HDMI ports..
Building to this week. A few months ago, I was given a broken nas. I took it, thinking I've at least got 16TB of storage if it won't work. Fixed it. Saw the software includes docker, and then saw it has just 2GB ram and before I installed anything it would complain about low memory. Got 16GB, and installed it last weekend.
Spent the week installing and setting up Immich, navidrome, and integrating my other server running arrs.
Finally took the time to setup Woodpecker CI to replace Drone. Also finally linked it not only to my self hosted gitea, but also to github, so I can automate a few builds there as well.
In the process I also learned, that I can set up a whole bunch of pods in a single kube definition for podman/quadlets, which allows me to have a much cleaner setup. Previously I was only aware that you can define a single pod with multiple containers. It makes sense, but it never occurred to me before.
I just replaced the piece of junk XFi router with a proper Ubiquiti dream router 7. I didn't think it would make this big of a difference, but wow. Had to keep the old thing in bridge mode though. I want to next replace the cable modem built into the thing, but Comcrap requires you either use their equipment for $20/mo or you have to pay for unlimited data for $30/mo. They actually change you more to have the pleasure of not using their junk equipment.
Setup Set up my audiobookshelf server successfully. Also, just realized that the Synology NAS that I’ve had running for a couple of years now without really using it much, can be mounted onto my Debian server, that I use a lot, as a mass storage and will work just fine. Mind blown. I now have plenty of storage after struggling for a while. Lmao.
Set up my audiobookshelf server successfully.
I've been meaning to do this for a while. Do you put ebooks in it too, or just audiobooks and podcasts? I've been using BookLore for my ebooks, and really like it -- I just wish it was a little faster.
Strictly audiobooks. Mostly for my wife because that’s all she listens to. For me, it is 90% ebook on my kobo and 10% audiobooks. Only when I’m doing something around the house or driving do I listen to an audiobook. I’ve also built my own android ABS client that I made to my liking.
I dockerized FileHunter and workflowed it on project updates: https://github.com/ikidd/file-hunter-dockerized
Seems to work fine, idk why author didn't have it dockerized already, seems like a project ready made for that.
Started running arr stack, started running music assistant, improved home assistant dashboards, and fixed uptime tracker
The nextcloud AIO instance that hadn't been working since September suddenly started working after I updated it. This was all after their forums did fuck all to help except tell me to get gud. I knew the problem wasn't on me or my config and I feel so vindicated
Have you had a look at opencloud? Not many addons, but simple-ish cloud drive and docs and such. Does not use many resources.
I have an instance running, but haven't had a ton of time to dedicate on getting it the way I need it. I need a calendar that is accessible anonymously via the web for people to know my availability. File server, CalDAV, and CardDAV I was able to get separate solutions for.
I got fedora installed on a refurbished win11 laptop and finally got jellyfin working in my new house after i moved 1.5 years ago.
Kodi got me by in the dark times but its nice to have episode progress saved and being able to resume from any browser on my local network.
I'm redoing everything I have from scratch. This week I have FreeIPA set up from OpenTofu + Ansible configs, and enrolls most of my other servers against FreeIPA. I am still migrating TrueNAS to use FreeIPA's Kerberos Realm for auth, and I need to chown a lot of files for the new UIDs and GIDs homed in FreeIPA. After that, I'm setting up FreeRadius for auth to switches, APs, and Wifi. And then after that, I'm back to overhauling my k8s stack. I have Talos VMs running but didn't finish patching in Cilium. And after the real fun begins.
I had enough time to install sort of pihole.
I'm curious what alternative to Pi-hole you set up. (I'm planning on installing Pi-hole soon but wanna hear all my options)
I have used Adguard Home before. I found it to be very similar to Pi-hole.
I never tried Technitium.
Currently I use Pi-hole with unbound.
proxmox backups fixed!
copyparty is really REALLY cool. (i use the phi95 theme)
self hosted gitea was much easier than expected.
jellyfin updated to latest.
fixed habitica issues (gotta have my goddamn checkmarks!)
self hosted ntfy ssh login scripts EVERYWHERE
i said fuck NUT and passed battery backup straight to truenas VM, the graphs are beautiful.
ive decided that a rclone docker set up to serve webdav will be a tool i keep on all lxcs, for moving shit around easier. turn it on, move the stuff, turn back off. (i can SCP with the best of them but this is so much easier)
i want a self hosted CA 😭😭😭
copyparty is really REALLY cool. (i use the phi95 theme)
Wow. That's amazing!
i want a self hosted CA
It's totally worth it. I was putting it off for a very long time, but it was actually kind of easy.
got a link? I've been falling to get vaulTLS to even start
Here’s what I went with: https://github.com/tgangte/LocalCA. I don’t know anything about VaulTLS though.
This week I saw my 3 machine cluster flailing trying to stay online, digging around identified it as an issue with communication with my NAS. It was running NFS3 and so I swapped that to NFS4.1 and did some tuning and now my services have never been faster!
Managed to finally get around to self-hosting ntfy, added that to uptime kuma as notifications, experimenting with Checkcle, stood up a invidious instance for funsies (prob will see how much i use it, but might as well).
I migrated openaw from docker running on my raspberry pi to an old nuc I had lying around. Backed it with mainly models off of OpenRouter or my local Ollama instance. For very difficult tasks it uses anthropic. Added it to my GitHub repo and implemented Plane for task management. Added a subagent for coding and have it work on touch up or research tasks I don’t have personal time to do. Made an sdlc document that it follows so I can review all of its work. Added a cron so it checks for work every hour. It ran out of tasks in five days. Work quality: C+, but it’s a hell of a lot better than having nothing.
It helped research and implement SilverBullet for personal notes management in one shot.
I also migrated all of my services’ DNS resolution to CloudFlare so I get automatic TLS handoff and set up nginx with deny rules so any app I don’t want exposed don’t get proxied.
This weekend I’m resurrecting my HomeAssistant build.
I've been running all my apps on my NAS as docker containers, but some get 'stuck' occasionally, requiring a reboot of the whole machine. Using the NAS was mostly out of convenience.
I also had an old laptop running k3s, hosting a few stateless services.
This week I picked up three Wyse 5070 devices and started setting up a more permanent Kubernetes cluster. I decided to use Talos Linux, which is a steep learning curve, but should hopefully reduce the amount of ongoing work for upgrades. I'll be deploying everything with FluxCD this time around too.
I've stumbled a bit with the synology-csi-driver. It didn't work with Talos out of the box, but turns out the latest commits have a fix. The only thing remaining before I can start porting the apps over is figuring out how to spin up a new CA and generate client certificates for mTLS. I currently do that in Vault but it seems like something cert-manager could handle going forward.
I got a test box set up with nixos and a config that runs all of my services. I wanted to test the declarative rebuild promise of it, so I:
- Filled the services with my some of my backed up data (a copy of the data, not the actual backup)
- Ran it for a few days using some of the services
- Backed up the data of the nixos test server, as well as the nixos config
- Reinstalled nixos on the test box, brought in the config, and rebuilt it.
And it worked!!! All serviced came back with the data, all configuration was correct.
I'm going to keep testing, and depending on how that goes I may switch my prod server and nas to nixos.
Very cool!
Re: the backup / restore of state in NixOS: I found myself writing the same things over and over again for each VM/service, so finally wrote this wrapper module (in action e.g. here for Jellyfin), which confgures both the backup services and timers, as well as adding a simple rsync-restore-jellyfin command to the system packages. In case you find this useful and don't already have your own abstractions, or a sufficiently different use case 😄
This week - Apache Airflow setup to automate running backups (replacing cron).
I've been self-hosting for years, but with a recent move comes a recent opportunity to do my network a bit differently. I'm now running a capable OpenWRT router, and support for AdGuard Home is practically built into OpenWRT. I just needed to configure it right and set it up, but the documentation was comprehensive enough.
For years I had kept a Debian VM for Pi-Hole running. I kept it ultra lean with a cloud kernel and 3 gb of disk space and 160MB of RAM, just so it could control its own network stack. And I'd set devices to manually use its IP address to be covered. AGH seems to be about the same exact thing as Pi-Hole. With my new setup the entire network is covered automatically without having to configure any device. And yes, I know I could've done the same before by forwarding the DNS lookups to the Pi-Hole, but I was always afraid it would cause a problem for me and I'd need an easy way to back out of the adblocking. Subjectively, over about 6 years, I only had a couple worthless websites that blocked me out.
I haven't yet gotten to the point where I'm trying to also to intercept hardcoded DNS lookups, but soon... It's not urgent for me because I don't have sinister devices that do that.
Reconnected my light switches to home assistant. I just had to press the pairing button on the device again for some reason. But it's inside de Switch box in the wall, not so practical. I wich they thought of another way to put the device in pairing mode, like switch one-off 10 times, something like that.
A hopefully "success in progress": I am building a new trueNAS server for storage. I have a k8s cluster and am currently using rancher for storage, but I decided at my scale central storage made more sense & would be easier to manage. I am also using that opportunity to upgrade from 2TB usable storage to 44TB usable storage. Fingers crossed everything will work 🤞
It was a couple of weeks ago for me but I managed to get my docker compose script for all my infrastructure cleaned up and all versions of containers are now pinned.
I have renovate set up to open PR's when a new version is available so I can handle updates by just accepting the PR and it's automatically deployed to my server.
Nice and easy to keep apps up to date without them randomly breaking because I didn't know if a breaking change when blindly pulling from latest.
The table (dm) might finally make the switch from roll20 to foundry for a campaign!
I got gitea running on my VPs cluster that I use to host keyboard vagabond services. I moved my repository from my home PC into it, and set up an action runner to automate a build and deploy of piefed, so it runs my build script, pushes to harbor registry (internal), and then deletes and recreates a job to run db migrations and restarts the web and worker pods.
I'm going to migrate the other build services to it as well, and after that I should be able to finally get all of my services behind cloud flare tunnels and tail scale, and finally remove the last bits of ingress-nginx. The registry was the only thing still on ingress-nginx because I needed to push larger image files than are permitted by cloud flare. since all of that is internal now, I get to finally seal those bits off.
The build is also faster since I don't have to rely on wifi
Hum. I've been smooth sailing for a while now. I've tried installing OwnTracks again and made some progress by figuring out cloud flare tunnels are a problem (at least the way I configured them). New to MQTT. So the app still doesn't work properly but now I have an idea why and I'm not just banging my head on the wall anymore.
I got Terminus for the TRMNL set up using Podman on my server running NixOS.
Although I'm actually planning on replacing Terminus with my own simple server app that way it can be even more declarative (no Postgres database of devices/users/screens) and easier for me to customize. The API I'll have to implement is extremely straightforward, so I don't anticipate it taking too long.
Started my self-hosting journey a couple of year ago with a Raspberry Pi, OpenMediaVault and a couple of Docker containers. This week i finally managed to move my Adguard Home container and my DNS setup over to my NAS, which was the final thing that kept the Pi running. I also synched all the data to the NAS.
The next step I am trying to figure out is a decent backup setup. Read about Borg, Restic and Kopia, but haven't decided on one of them yet. What are you guys using?
Use the one that makes most sense to you for restores.
Backup a folder, then restore it somewhere else... if any of the applications causes you problems for your setup, move on.
Good point. I was going to set 1-2 of them up and find out what suits my needs.
Just looking at my NAS now...
I used to use Kopia to backup to a Backblaze B2 bucket, but I've moved to Restic as I can backup over ssh to a NAS at a family member's home and to a Hetzner storage box.
I settled on Kopia myself but I always seem to see the others mentioned
Still waiting for my success. Pihole randomly doesn't answer DNS requests in time, causing a lot of trouble between my services. It's happening since I switched to dnsmasq in opnsense (which is upstream for my local domain for Pihole), but also for external domains. Can't nail it down and am this short of reconsidering my whole network setup. It used to work fine for over a year though..
Opnsense dnsmasq is DHCP for my servers and also resolves them as local hosts. (e.g. server1.local.domain) and Pihole conditionally forwards there. Since the issue is also when resolving external domains, it shouldn't be related, but the timing is suspicious. I also switched the general upstream DNS.
Pihole does have some logs indicating too many concurrent requests, but those are not always correlating with the timeouts.
I know it's DNS, I just don't know where yet.
Is dnsmasq rate limiting tbe pi's IP? Or is opnsense intercepting port 53 outbound and sending it to dnsmasq anyway so all pi DNS queries are being resolved in dnsmasq?
Opnsense is only between the servers and the pi, the pi is in the same subnet as our consumer devices and the opnsense (directly connected to the router). The issues are both on the consumer devices and on the server, so the opnsense should not be the direct issue.

all 83 comments