this post was submitted on 16 Mar 2025
191 points (98.0% liked)

Selfhosted

44790 readers
911 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I know for many of us every day is selfhosting day, but I liked the alliteration. Or do you have fixed dates for maintenance and tinkering?

Let us know what you set up lately, what kind of problems you currently think about or are running into, what new device you added to your homelab or what interesting service or article you found.

This post is proudly sent from my very own Lemmy instance that runs at my homeserver since about ten days. So far, it's been a very nice endeavor.

top 50 comments
sorted by: hot top controversial new old
[–] sugoidogo@discuss.online 2 points 2 days ago

I wrote myself a new python script for a palworld server I run. Wanted to figure out a generic way to track active connections without running something in front of the daemon. That's easy to do for TCP, but since UDP has no concept of an established connection, the regular tools wouldn't work. Realized I could use conntrack to get the linux firewalls connection tracking data, which works outside of tcp/udp concepts and maintains its own active connection state based on timeouts, which is what I was gonna do anyways. Now I can issue SIGSTOP/SIGCONT to keep buildings from degrading on the server when nobody's online to deal with it, along with saving the cpu resources of an empty game server. Rather niche project, but I figured I'd publish it anyways. https://github.com/sugoidogo/pausepal

[–] metaStatic@kbin.earth 81 points 6 days ago (6 children)

what's maintenance? is that when an auto-update breaks everything and you spend an entire weeknight looking up tutorials because you forgot what you did to get this mess working in the first place?

[–] DogEarBookmark@reddthat.com 39 points 6 days ago

I do love how little maintenance is needed until you have to re-learn everything you forgot

[–] daddycool@lemmy.world 10 points 6 days ago* (last edited 6 days ago) (5 children)

I know you're half joking. But nevertheless, I'm not missing this opportunity to share a little selfhosting wisdom.

Never use auto update. Always schedule to do it manually.

Virtualize as many services as possible and take a snapshot or backup before updating.

And last, documentation, documentation, documentation!

Happy selfhosting sunday.

load more comments (5 replies)
load more comments (3 replies)
[–] Appoxo@lemmy.dbzer0.com 11 points 5 days ago (1 children)

For the first time I configured ssh with pubkey auth.
Auth between windows (agent) and alpine (host) to use as a helper/backup proxy in veeam (helper is used to mount file level restore assistant)
Took me 3 hours to find out that
Windows didnt know the private key
Pubkey auth wasnt active
Fucked up pubkey auth
Alpine isnt supported by Veeam so it didnt work
Needed to install a small debian VM.

:|
At least I did my first pubkey auth setup.

[–] rumba@lemmy.zip 5 points 5 days ago

It gets better.

[–] TheFANUM@lemmy.world 8 points 5 days ago (2 children)

Finally upgrading my Plex server from Ubuntu 22.04 to 24.04! I've been putting it off out of habit, as I always wait for the *.1 releases but I've done several of these for clients and every single one went flawlessly. But I still waited it out.

Also thinking about switching my Ext4 mirrored softRAID to ZFS... Since Ubuntu has the only acceptable ZFS implementation outside of UNIX proper (Ubuntu's is in-kernel, everyone else uses kernel modules, which i hate). But that's going to be extra work I may not be in the mood for. But damn would compression and deduplication be nice! So still maybe

load more comments (2 replies)
[–] 4grams@awful.systems 13 points 6 days ago* (last edited 5 days ago) (2 children)

I’m building services out for my family as things enshittify. Moved the family over to an immich instance, run a family blog on Wordpress (working on rolling my own since it’s over complicated and with all the Wordpress shenanigans…), plex (lifetime account, works for now). I have a number of self-built projects as well, a “momboard” like system that is integrated with my Wordpress blog for access and control, a pi based backup server that lives at my friends house and nails a VPN connection to my router and I’m playing with Meshtastic as an offline communication system for my kids scout troop when we’re camping without cell signal. Lots of home automation with home assistant as well.

I host it all on Debian servers, raspberry pi’s and esp32 devices (Meshtastic and home automation). I used to run kubernoodles but it was more complicated than needed and for my use case, docker, ansible and bash scripts manage it all just fine.

load more comments (2 replies)
[–] domi@lemmy.secnd.me 9 points 5 days ago (1 children)

I finally got IPv6 working in Docker Swarm...by moving from Docker Swarm to regular Docker.

Traefik now properly gets IPv6 addresses and forwards them to the backend.

[–] AustralianSimon@lemmy.world 5 points 5 days ago (1 children)

What's the big benefit of moving to IPv6 for a LAN? Just wondering if there is any other benefits over addresses? My unifi kit can convert us to IPv6 but I'm hesitant without knowing what devices it will break.

[–] domi@lemmy.secnd.me 5 points 5 days ago* (last edited 5 days ago) (1 children)

Copying from an older comment of mine:

IPv6 is pretty much identical to IPv4 in terms of functionality.

The biggest difference is that there is no more need for NAT with IPv6 because of the sheer amount of IPv6 addresses available. Every device in an IPv6 network gets their own public IP.

For example: I get 1 public IPv4 address from my ISP but 4,722,366,482,869,645,213,696 IPv6 addresses. That’s a number I can’t even pronounce and it’s just for me.

There are a few advantages that this brings:

  • Any client in the network can get a fresh IP every day to reduce tracking
  • It is pretty much impossible to run a full network scan on this amount of IP addresses
  • Every device can expose their own service on their own IP (For example: You can run multiple web servers on the same port without a reverse proxy or multiple people can host their own game server on the same port)

There are some more smaller changes that improve performance compared to IPv4, but it’s minimal.

My unifi kit can convert us to IPv6 but I’m hesitant without knowing what devices it will break.

You don't usually "convert" to IPv6 but run in dual stack, with both IPv4 and IPv6 working simultaneously. Make sure your ISP supports IPv6 first, there is little use to only run IPv6 internally.

[–] AustralianSimon@lemmy.world 1 points 4 days ago

Very helpful thanks for digging out up for me.

[–] dishpanman@lemmy.ca 13 points 6 days ago (4 children)

I started hosting audiobookshelf since Jellyfin was pretty clunky for audiobooks.

load more comments (4 replies)
[–] refreeze@lemmy.world 11 points 6 days ago (3 children)

I just set up wanderer and workout-tracker. Along with installing gadgetbridge on my phone, I now have a completely self hosted fitness/workout stack with routes, equipment tracking, heatmaps, general health metrics like HRV, heart rate, etc through my Garmin watch, without having Garmin Connect installed. Awesome!

load more comments (3 replies)
[–] non_burglar@lemmy.world 8 points 6 days ago (4 children)

Migrating from proxmox to incus, continued.

  • got a manually-built wireguard instance rolling and tested, it's now "production"
  • setting up and testing backups now
  • going to export some NFS and iscsi to host video files to test playback over the network from jellyfin
  • building ansible playbooks to rebuild instances
  • looking into ansible to add system monitoring, should be easy enough

Lots of fun, actually!

load more comments (4 replies)
[–] Evkob@lemmy.ca 10 points 6 days ago (3 children)

I got a new job, and the group chat is on WhatsApp, so I'm looking into running a Synapse server with a bridge to it. I really don't want to have to use Meta's apps on my phone.

From what I've read so far, it seems like it's going to be the most convoluted install process I'll have encountered in my self-hosting journey. I'm excited to tackle it, but also a bit overwhelmed. Which is why I've been putting it off :P

Try conduwuit instead of Synapse if you get stuck. For me, it was really simple to install and the dev is really nice.

load more comments (2 replies)
[–] DarkSpectrum@lemmy.world 2 points 4 days ago* (last edited 4 days ago)

Looking to install Immich, BitDefender Password Manager and YouTube downloader on the NAS this week.

[–] eodur@lemmy.world 6 points 5 days ago

I recently setup Music Assistant and have been trying to make it work in my VLANs with my esp32 devices. It has been slow going. Nothing has the level of logging required to easily debug the issues I've encountered but I'm slowly working through it all.

[–] Skunk@jlai.lu 11 points 6 days ago (1 children)

Maintenance day is when I log into my server once every 3 month because I forgot it (as everything is working fine).

But I just discovered OpenSuse microOS, while looking at the docs for my laptop Thumbleweed, and now I want to try it with no real reasons. Maybe it is just an excuse to buy a new Raspberry pi.

load more comments (1 replies)
[–] Smokeydope@lemmy.world 6 points 5 days ago

I just spent a good few hours optimizing my LLM rig. Disabling the graphical interface to squeeze 150mb of vram from xorg, setting programs cpu niceness to highest priority, tweaking settings to find memory limits.

I was able to increase the token speed by half a second while doubling context size. I don't have the budget for any big vram upgrade so I'm trying to make the most of what ive got.

I have two desktop computers. One has better ram+CPU+overclocking but worse GPU. The other has better GPU but worse ram, CPU, no overclocking. I'm contemplating whether its worth swapping GPUs to really make the most of available hardware. Its bee years since I took apart a PC and I'm scared of doing somthing wrong and damaging everything. I dunno if its worth the time, effort, and risk for the squeeze.

Otherwise I'm loving my self hosting llm hobby. Ive been very into l learning computers and ML for the past year. Crazy advancements, exciting stuff.

[–] quelsh@programming.dev 6 points 5 days ago

I migrated my whole native service infrastructure to Docker services this weekend. I prepared for it the previous weeks; basically looking up information about details I wasn't sure about. The services were mailing, file cloud, and traccar with modoboa, ownCloud respectively. I moved to mailcow and Nextcloud and replaced my feedly account with NextCloud News as a bonus. So far pretty happy with it, had a couple set-backs but also learned a lot in the process. This was the first time for me doing something productive with Docker

[–] vfsh@lemmy.blahaj.zone 6 points 5 days ago (1 children)

I spent two hours last night beating myself over the head with RAM sticks. Got an ewasted server that had the alarm misconfigured, figured I'd upgrade it and put in a valid configuration since it was just off my size. Slapped in some matching size sticks and it wouldn't boot. It took my embarrassingly long to realize that the speeds werent the same and that the server really cared about the speeds being the same, more than it cared about sizes being the same incidentally.

I work in IT that should have been the first fuckin thing I checked smh

[–] almost1337@lemm.ee 4 points 5 days ago

I remember when I worked in a data center and there was a custom server order that needed something like 64 sticks per server, and procurement didn't bother to make sure that we had sets that were the same speed, timing, or brand. Thankfully I caught it before we wasted a ton of time troubleshooting.

[–] BroBot9000@lemmy.world 10 points 6 days ago (12 children)

Heya! I’m looking to get into self hosting. Any recommendations on good beginner tutorials or resources?

[–] ragebutt@lemmy.dbzer0.com 10 points 6 days ago

Pick something you want to self host first. Do you want a media library? Then look into Jellyfin guides, or komga, or whatever. Do you want a centralized blocking dns server for all your devices? Look into adguard/pihole/etc. do you want to fuck around with llms? That’s a whole thing but you totally can and look into guides on doing it

Just as advice you’ll find people that become borderline evangelical on what you use. It doesn’t really matter. Debian vs unraid vs truenas, ecc ram or not, etc. I mean it does, somewhat, and you should read about it, but don’t get hung up on small details. For home use basically anything is fine. Get an old ewaste pc from 2012 and run whatever os you want (just not windows though)

load more comments (11 replies)
[–] Little8Lost@lemmy.world 4 points 5 days ago

Yesterday i managed to successfully host a simple html safely (its more of a network test)
The path is nginx->openwrt->router to internet Now i only need to:

  • backup
  • set up domain (managing via cloudflare)
  • set up certificates
  • properly documentbthe setup + some guides on stuff that i will repeat

and then i can throw everything i want on it :D

[–] rumba@lemmy.zip 5 points 5 days ago (3 children)

What should I do next?

  1. Set up peertube in a proxmox, difficulty: My hosting provider doesn't allow 443 or 80, I have cloudflare working for other things but I think this invades their TOS

  2. Set up immich in a proxmox. Difficulty: I need regular backups off site and it's going to be pretty large.My wife is a professional photographer.

  3. Set up my Coral TPU with frigate replacing my aging win10 blue iris.

load more comments (3 replies)
[–] ItTakesTwo@feddit.org 6 points 6 days ago

Fumbling around with k3s to get my toes into deploying a Kubernetes cluster from scratch for the first time ever. No real long term usage planned, just some testing to gather experience.

[–] habitualcynic@lemmy.world 5 points 5 days ago

I’m patiently (cf impatiently) awaiting the arrival of an Aoostar WTR Pro and components to build my first NAS and full Arr stack for Linux ISO’s.

I completed a proof of concept and learning a month ago on a Pi 5, and I can’t wait to get my hands dirty with something more real!

I’ll take any advice anyone throws my way :D and thanks to this community for the learning and inspiration since I joined Lemmy!

[–] cmc@lemmy.cmc.pub 4 points 5 days ago* (last edited 5 days ago)

I also finally set up Lemmy on my home lab, as well as moving Authelia from Docker to bare metal.

Other than that, I’ve been struggling to find any other self-hosted apps that would actually be useful to me.

[–] AustralianSimon@lemmy.world 4 points 5 days ago* (last edited 5 days ago)

Finally setup Synology surveillance station and got my local cameras all hooked in with motion events. Very swish.

Attempted and failed to set up some sort of fail2ban between my Cloudflared container and my website I host at home.

[–] sugar_in_your_tea@sh.itjust.works 6 points 6 days ago* (last edited 5 days ago)

Been messing around w/ podman, and after hours of slamming my head against the wall, I decided Seafile isn't worth it. :) It launches a bunch of stuff inside one container, and I just couldn't figure out how to get that to work w/ quadlet (worked fine w/ podman kube play though).

I got forgejo set up and now I'm looking into setting up runners so I can finally migrate off hosted gitlab onto my own forgejo instance.

Some other things I'm planning on doing this week:

  • migrate existing services to podman quadlet from docker compose - will make each existing service into a pod and play w/ pod networking
  • set up technitium - tested it locally and it worked well, so just need to move it and configure it; hope to use it as the primary DNS for my house
  • set up owncloud ocis - there's a new POSIX FS option, which was my main hangup when I last looked into a nextcloud alternative (I only need storage + collabora)
  • probably some kind of dashboard, because the number of services I host is getting a bit long

If I get time, I want to install openSUSE MicroOS onto my NAS and start migrating everything to it (from openSUSE Leap). I really like the idea of an immutable base OS, and my NAS is already 90% containers (pretty much just Samba left). I need to fix some permission issues anyway (keep having to chown my videos so samba and jellyfin can work together), and this should make things a bit more obvious.

I'll probably also start a blog about my self-hosting journey, because the info around podman is kinda sparse, especially when it comes to quadlet.

Edit: got OCIS working, but it was a bit of a pain. Starting that blog really sounds like a good idea...

[–] SirMaple__@lemmy.world 5 points 5 days ago* (last edited 5 days ago)

My current project is email. Setting up Mailcow and moving my domains over to VMs on a OVH KS-3 server right here in Canada. I'm sick of depending on cloud email providers and want more control of my data. Also getting Addy.io setup to move my aliases over from SimpleLogin. End game is to dump Proton and go all selfhosted for email and Mullvad for VPN. For Mullvad I found that you can buy a 6 or 12 month gift card vouncher on Amazon and it works out to being less than paying Mullvad directly per month.

[–] evulhotdog@lemmy.world 4 points 5 days ago

I use Mend Renovate to keep up with the latest and greatest container images in my private repo.

[–] madeofpendletonwool@lemmy.world 6 points 6 days ago (1 children)

Pinepods 0.7.4 is out! So as the Dev I'm going through new issues and knocking them out. Smart playlists, oidc logins and notifications on release are all a thing now on the self hosted podcast platform! We're nearing a v1 release with features on par with some of the big time podcast apps.

load more comments (1 replies)
[–] dingdongitsabear@lemmy.ml 6 points 6 days ago (3 children)

switched my server from i7-870 (my ex-workstation) to Pentium G6405 (got it free). switch went without a hitch, debian with a ton of docker services (jellyfin, servarr, pihole, radicale, etc.), 8 GB RAM only. although it's a quadcore to dualcore switch, no performance issues. I know there are better options out there, but I don't spend money unless I really have to.

load more comments (3 replies)
[–] Wrongdoer4094@lemmy.world 6 points 6 days ago (1 children)

I have had success with a monthly reminder in my google calendar. Sometimes I skip it, but I have been updating and keeping everything nice and tidy much more frequent than I used to!

[–] tofu@lemmy.nocturnal.garden 7 points 6 days ago (1 children)

Google calendar? In the selfhosting community? Bold statement😄

load more comments (1 replies)
[–] assaultpotato@sh.itjust.works 5 points 6 days ago (5 children)

I need to migrate off Docker Desktop for Windows and Storage Spaces but I fear the process will be difficult due to my data volume and the stupidity of Windows. I should never have gone Windows, but I wanted to use Steam Big Picture off the media PC and didn't want to deal with getting that functional on Linux.

But Docker Desktop for Windows keeps crashing WSL and bricking the network devices randomly, and also continuously grows memory consumption until the machine reboots. Piece of shit.

load more comments (5 replies)
[–] tux7350@lemmy.world 5 points 6 days ago* (last edited 6 days ago) (5 children)

I'm working on my first kubernetes cluster. I'm trying to set the systems up with NixOS. I can get a kublet and a control plane running. But I'm getting permission errors when trying to use kubectl rootless on the system running the control plane. I think I figured out which file i need to change, now I just want to record that change in my configuration.nix.

load more comments (5 replies)
[–] cron@feddit.org 6 points 6 days ago (1 children)

I've started to setup Authentik this weekend. My goal is to learn more about SSO and have one account for most of my selfhosted services.

load more comments (1 replies)
load more comments
view more: next ›