So, I am soon going to finally set up my first home server. Exams are not that far away, I am motivated as shit, my first own domain is bought and I want to level up my sysadmin skills.
Currently my plans look like this:
- Host Jellyfin
- Host my own NAS
- Some form of hosted musicstreaming integration with my local music
- Automate Backups and push them on my server
- make all of the above things available where ever I want using my own self hosted domain.
- run my own dns
In the long term I also want to be able to host my own webapps, since I will soon start to develop one for someone.
Now I want to know what suggestions do you have, for stuff thats really cool and that I can selfhost.
Edit: thanks for all the replies. Definitely going to look into this.
Since you’re running Jellyfin already, you can put your music in there and use an app like https://discrete.app/ on iOS or something comparable on Android for a better UX
Finamp on Android.
I’m wondering if Android has something nicer looking. Plex has PlexAmp which looks great, Emby’s built in music player in their main app looks terrific, FinAmp is like aestheticslly like the stock standard JellyFin app which is awful.
Discrete in iOS at least is just an attempt at looking like a carbon copy of Apple Music. There must be some good looking g Jellyfin music player on Android.
There’s also FinTunes… I have never used it.
A single user PieFed instance
Curious, can you host a single user instance that isn’t available outside your network? I access everything over wireguard and don’t want to expose my apps to the web.
Technitium dns (and dhcp) server instead of pihole maybe, with advanced blocking app.
deleted by creator
Personally, I am running Nextcloud (file backup mostly. There’s a bunch of other options too if you don’t want the "all-in-one"ness of Nextcloud, but I find that it has good integration with lots of apps), Immich (the best photo backup there is), Radicale (my first one, Nextcloud already has similar functionality I think. I use DAVx5 on my phone for this, Thunderbird for desktop), Vikunja (to-do list app, partly compatible with CalDAV. I pair this with the Android app Tasks[dot]org and it works quite well), and Forgejo (local git backup, I still use codeberg for cloud backup though). I can strongly recommend all of them, they all work fantastic! Tailscale is also neat to set up if you want to access your local network remotely.
One fun thing you can do is set up a little Minecraft server for you, any siblings/cousins/other family you have or your roommate if you have one of those. I host one using PaperMC, it’s just a survival server for just me and my sibling, it’s quite nice!
I also have notes using Joplin, but I’m using Nextcloud to sync rather than Joplin Server!
Other people have already mentioned Home Assistant, but I personally haven’t used that. If you do have smart homey things though, it sounds really good!
I currently have an assisted Snikket hostle which is an open wrixler.
This is what I’m currently hosting, might find something here that interests you.
AudioBookshelf: Exactly as the name implies Navidrome: Music Streamer MeTube: YouTube/Video Site downloader ConvertX: Converts hundreds of files. Beszel: Dashboard to monitor hardware MediaVault: My own app I wrote to track my Movies, Music, Video Games, Books. AMP: Video game server management software. JellyFin: Movie/TV Streaming Software FileBrowser: Browser based file management software. Radarr: Find Movies, download them. Sonarr: Find TV Shows, download them. ARM: Automatic Ripping Machine, put in a DVD/BluRay, Rips, compresses, and moves to JellyFin. (Huge pain to get working though, for me at least.) Pihole: Network management and Ad Blocker. Octaprint: 3D Printer management.
I have a bunch of other stuff too, like custom written scrips that show the info from Beszel on my Windows desktop via a Widget in RainMeter. Custom dashboard when I first login via SSH. My next thing to experiment with is setting up a custom website to use as a homepage dashboard for my browser, commonly used bookmarks, news feed, email alerts, weather, social media feeds, whatever else I can think of or get working.
And for anyone curious what the hardware is:
OS: Ubuntu 22.04 LTS with xrdp Desktop Environment when Needed CPU: AMD 3700x RAM: 64GB Boot Drive: Samsung 990Evo 2TB m.2 Storage: 2x Seagate BarraCuda Pro 12TB HDD RAID 1 GPU: NVIDIA RTX 2060
I would start with the NAS first. with a proper NAS and a solid network the storage requirements for the rest of your servers lessens.
for example, I’ve got an off-the-shelf NAS solution that hosts all my movies, music, etc that is mounted via docker in my Plex container on a different server. because it’s usually streaming to four different devices at any given moment, and the torrent’s running against the same NAS, I’m using a 10gbe copper line.
depending on your needs, a 1gbe should suffice.
having a NAS would also help with backups. I have a 5 bay NAS, one of them is dedicated for backups of both servers and cloud storage from the NAS (personal files, tax documents, etc).
also, when building your NAS whatever you think you need, double it. if you think 5tb is enough, you’ll want to get 10tb or even 15tb. I current run 15tb(8tb drives) in a raid 10 with a 20tb backup drive.
this kind of configuration allows me to run 1tb or even sub tb drives on my servers and reduces my overall costs to replace if anything goes wrong. with a raid 10 on my primary storage array I can easily replace bad drives.
the only time I’ll really hurt is if my backup drive fails. since it was so expensive due to the volume. but backup drives never fail, right? 😉
unfortunately because of AI all those prices have increased. if I were to build it today it would cost me around $1700. adjusted for current pricing my whole lab would probably cost around $10k (thanks ram!).
good luck and god speed
Before you even start, consider adopting an ‘infrastructure as code’ approach. It will make your life a lot easier in the future.
Start with any actual code: If you have any existing source code, get it under git version control immediately, then prioritize getting it into a git hub like forgejo to make your life easier in the future. Make a git repository for your infrastructure documentation, and record (and comment/document too if you’re feeling ambitious) every command you run in a txt file or an md file or a script, and do that as religiously as you can while you’re setting up all this self-hosted stuff. You may want to dig it up later to try and remember exactly what you did or in case stuff goes wrong and you need to back off and try again. It might seem pointless now, but a year from now, you’ll thank me.
Especially prioritize getting your git stuff moved into a self-hosted forgejo if any of your stuff is hosted on the microsoft technoplague called github.
That’s a very good idea, will definitely do that.
- pihole: DNS ad-blocker abd also a DNS (and optionally DHCP) server for your home
- Wireguard: VPN very simple to setup, for remote access to your services from outside your home. What I do: wireguard is running (as a server) on a VPS, with all the security measures in place (ssh password login turn off, firewall bocks everything but wireguard and ssh connection changed to another port, failban) then my NAS at home connects to this VPS, as well as my phone, laptop, etc.
- Caddy: reverse proxy to address your service using your domain, it’s easy to setup, actually it’s the only reverse proxy I managed to setup successfully 😅. You can use the Nameservers from your domain provider to point to your NAS via the wireguard IP address for connection from the outside, and Pihole DNS to point to local IP address when at home.
Bentopdf if you deal with PDFs
Omni-tools if you need to convert between 2 formats or units
It-tools for the fun of it.
Headscale, for one. This is probably implied as part of one of your above stacks, but let’s list it out loud. Tailscale is great and all, but it’s downright icky to offload routing of any variety to a third party.
Immich. Turn off Apple or Google’s automatic scraping of all photos, keep usability. Even if you’re not a photo person, at least some of your users are.
Syncthing is or Nextcloud, or something in the family. This may already be part of your NAS plans.
One of the code forges like forgejo, gitea, gitlab. Even when not a developer. Self hosting involves configuration and if you can get that into text and into a history, it makes things so much easier. Add bells and whistles to your hearts content, but these are good suites for a lot of functionality. Forgejo does have federation on its road map, but it’s a while off still.
These are ones I find pretty ubiquitous. There’s so many options once you have initial infrastructure. Email, for instance, isn’t as daunting as the horror stories make it sound, though not as simple as many hope. My suggestion is to take time and do it correctly. There’s a lot of backtracking involved as you learn more, but it’s usually worth it. Best of luck!
Mail is particularly less daunting with mailcow. It just works
Invidious for YouTube without ads
What are the advantages of Invidious, compared to Piped?
I have been self-hosting Piped for the last 3 years, but I never tried Invidious.
Well my piped instance has been broken since about a week or two ago. It’s not very actively maintained IMO. And I’m not spending a bunch of time trying to implement some shady fix that 1 random on the internet said to do that isn’t the dev.
Are you talking about the “The page needs to be reloaded” error?
The current solution is to use nieveve/piped-backend for the API.
I have used their image before, when there was an issue with Piped appearing as a bot and requiring captcha.
Yeah that’s the error. However the fix I saw was different I think. If it’s just using a different image, I’ll need to look into that.
Here’s what worked for me:
# image: 1337kavin/piped:latest build: context: https://github.com/ac615223s5/Piped-Backend.git dockerfile: DockerfileI think it’s the same thing, except I am pulling the pre-built image
I don’t know, to be honest. I have never hosted Piped.
Seem to have very similar features.
A Snikket server is cool.
Navidrome maybe, but Jellyfin also works for music.
Check out Selfh.st
Very good resource. Well written. I know nothing about him but does seem to have a great rapport with Lemmy SH.
ETA: I’m reluctant, but keen to know so, is there some ancient lore that prevents me from asking ‘Is there a reason why noted.lol doesn’t live here too?’ I searched and I did find a handful of references, but nothing like selfh.st.
You’re referencing the deep lore.
Noted.lol was around awhile before selfh.st and was actually pretty beloved on the SelfHosted subreddit. Then the guys behind selfh.st showed up and some of the people who were contributing to noted.lol started giving them a hard time for “copying” them or some nonsense like that. Lots of drama. Now you never really hear about noted anymore.
I kinda figured. Usually long standing comms/chans/subredits have ancient tomes that guide them. I actually find them both valuable resources.









