this post was submitted on 10 Jun 2026
75 points (96.3% liked)

Selfhosted

59792 readers
1243 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.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

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

Questions? DM the mods!

founded 3 years ago
MODERATORS
75
I need a map... (lemmy.world)
submitted 1 day ago* (last edited 1 day ago) by Snapz@lemmy.world to c/selfhosted@lemmy.world
 

There are so many options to get started with self hosting that I feel myself stuck in the "paralysis of choice". For a novice, does anyone have a good resource for the equivalent of good/better/best paths that cover the "basics" (In my mind this is hosting images, music, video, connected home controls, search and email)?

Thinking something like first try path A, if you feel comfortable and your HW can handle A, then try path B, etc. I guess a it of a tutorial mode feeling where you get exposed to key boxing blocks initially and then you are released into the large open world on your own.

I know the advantage of this movement is the choice and the well distributed variety, but just feels hard to start.

I have an old laptop, an SFF workstation and a NAS to play with.

Any suggestions?

Edit: Thank you all for a very generous response. I knew this was a tough ask from the start because, by design, this area is vast and constantly evolving. A lot of great starting points here that I'm now considering.

top 34 comments
sorted by: hot top controversial new old
[–] Fizz@lemmy.nz 1 points 8 hours ago
[–] sbeak@sopuli.xyz 1 points 8 hours ago* (last edited 8 hours ago)

1. Always read the documentation!!!

Now for specific recommendations, I can can share my own experience. I started out with hosting something very basic that I had a need for. Nothing fancy, something that's relatively easy to set up. I hosted Radicale, a CalDAV server that can sync calendars. It was a little fussy about permissions but I was able to sort it out by reading the documentation. I heard Baikal is another good option for that too. Previously, I only used local calendars, as never bothered with Google or Outlook calendar, and if was refreshing to have my events be locally synced! Super neat!

If you have a small, simple need like that, it can be your baby steps into self-hosting. A small calendar, a to-do list, DNS (i.e. PiHole), web server, something like that which you have a need for. Just make sire you read the documentation!

Afterwards, you can "level up" to more complex projects. For file hosting, I use Nextcloud, but OpenCloud is a good option if you need something lighter weight. LearnLinuxTV has an excellent guide on installing Nextcloud! You also have Immich for photo backup, and the documentation for it is excellent. You really should read the docs, for any kind of software! And if you do any programming, having a local Forgejo instance is always good for an additional backup to a cloud git repo service like Codeberg or GitHub. If you have a large collection of media of any kind, Jellyfin (for videos), Audiobookshelf (for...audiobooks), and Navidrome (for music) are all recommended.

As for the OS, I would recommend Debian. It's rock solid, there's a bazillion guides for it and Ubuntu (a Debian derivative), and it works well for my use case. Much of the documentation for all kinds of self-hosted applications assumes that you use Debian or some derivative of it. However, if you want a better way to manage networking, RAID configurations, etc., going with an OS tailored for use in NAS systems would be better. I heard that TrueNAS is a really good option for that! Just make sure you read the documentation before you fiddle around with settings.

On the hardware side, I would always go with something you already have over buying new hardware, and if you really don't have anything, getting some used is always good. Reduce e-waste and save your money! I used (and still use!) an old laptop for self-hosting, since it was what I had available and my storage needs were not massive. That poor 512GB SSD is really putting in the work.

Have I mentioned that you should always read the documentation?

[–] dieTasse@feddit.org 1 points 8 hours ago* (last edited 8 hours ago)

There is already so many answers so maybe you won't even read this, but the main point I think is just start, this is not valid only for self hosting but for any project. Just start doing something, anything and the path will draw itself. Doesn't need to be correct or perfect, it just needs to be started. Maybe you can start with the old laptop. Have you tried linux yet? Try it because that will be a basis for your self hosting. Just get the vibe, use it for a while, install shit on it. Go through tutorials. Maybe you realize it would be cool to try and host a simple website on it, just for funzies, just on the local network, you will learn so much on it and half way through you will have a dozen other ideas... I know this advice may be vague, but just go with the first thing you see and you think to yourself "this would be cool to have/do" 😊

[–] Jayb151@lemmy.world 2 points 16 hours ago

So many good comments already. I'll just say that I'm kind of newish to self hosting, and proxmox has been awesome. It's been awesome to spin up a full os out just some services when I'm interested in something.

[–] irmadlad@lemmy.world 16 points 1 day ago (3 children)

OP, I failed to mention one of the most important things you can do as a novice or even as a seasoned vet: take prolific notes. Write down everything. All the commands, all the steps, you've used in conjunction with setting up whatever service you choose, everything. What I do is while I'm in the middle of deploying something, I write everything down. Upon a successful deployment, take those notes, clean them up, and include them in my 3,2,1 back up scheme. Don't be lulled into the notion that you'll be able to remember everything 6 months down the road. You wont! That's the devil talking Bobby Boucher. Take notes. They'll save your ass in the future.

[–] Brgor@lemmy.zip 6 points 1 day ago (1 children)

I never take notes and it's only been a problem most of the time.

[–] jlow@slrpnk.net 2 points 23 hours ago

👆 Love this sentence, no notes.

[–] verw@lemmy.dbzer0.com 2 points 23 hours ago* (last edited 23 hours ago) (1 children)

I STRONGLY agree with this. My notes have saved my ass many times! Even document the little commands you feel dumb for forgetting over and over. Just get over yourself and write them down; it's not any worse than googling for and opening that same stackoveflow answer for the nth time lol

I simply kept my notes in markdown files for a while and eventually turned those into a self-hosted wiki using Material for MkDocs. It's really convenient being able to access the notes from a webpage on any device on my network.

[–] irmadlad@lemmy.world 3 points 23 hours ago (1 children)

Even document the little commands you feel dumb for forgetting over and over

Yup! On my dashboard, I have a small notepad where I keep all those 'commands you feel dumb for forgetting .' It does go on for a bit, and yes they are basic commands, but my memory is shit, so poke fun if you must. It works for me.

[–] verw@lemmy.dbzer0.com 2 points 22 hours ago

Ah, neat idea!

Also, good to run into you again! I didn't realize you were the person who'd posted the JSON question until I saw multiple replies from you in my notifications, haha.

[–] L7HM77@sh.itjust.works 2 points 1 day ago

Aye on the notepad. Everything but passwords, every change gets a journal entry.

[–] snrkl@lemmus.org 1 points 17 hours ago (1 children)

I have suggested people start with MailInABox and go from there...

https://mailinabox.email/

[–] Jayb151@lemmy.world 2 points 16 hours ago

Very cool. I actually sent this to myself so I look at it later. I've been wanting to mess with a mail server but was super intimidated. Thank you!

[–] czl@lemmy.dbzer0.com 26 points 1 day ago

Decide on one thing to do/replace. Google/Apple Photos (immich), Netflix (plex/jellyfin), home automation (home assistant)… I mean the list is extensive, but only you will know what you want to run.

Then choose an OS you think will work for you. CasaOS if you’re really a beginner. TrueNAS or Unraid in the middle. Proxmox for more advanced stuff.

Then don’t shy away from docker compose files. 1 click solutions are good, but at this stage what you need more than anything is to understand how things work. This will be very important when you’re hosting 10-20-50 things instead of 1 or 2. Using compose, install your service.

Finally when it doesn’t work or you see you’ve made a mistake, don’t be afraid to tear it down. Just assume that your first 3 setups are wrong for you. I started with an old laptop using truenas, and I’m up to 3 SFF pcs doing HA with proxmox and ceph. Do I suggest that my setup is the best? Hell no. But I’ve learned and grown into it.

Don't be afraid to do something because it won’t be perfect. It won’t be. But it will be a learning experience.

Oh and keep a backup of anything you don’t want to lose. Don’t feed your photos to immich and then nuke the server and lose all of them.

[–] coolie4@lemmy.world 7 points 1 day ago

A lot of good information here so I'll add something a little different:

Do Not open any services to the internet, such as for remote access, until you are sure about what you are doing. Doing something like opening a port so you can watch Jellyfin anywhere sounds great, but doing it wrong pokes a huge security hole in your infrastructure.

Keep everything in your local network until you have a secure remote access setup. Even your home network may be untrustworthy if you've got things like IoT devices or compromised operating systems.

[–] Snapz@lemmy.world 3 points 1 day ago

A reply to all first and then will follow-up with individuals with any specific thanks/questions after work today:

Thank you all for a very generous response. I knew this was a tough ask from the start because, by design, this area is vast and constantly evolving. That said, I think I do have many of the pieces of what I need here to explore - I'm most grateful that this is all advice from humans, unfortunately more rare these days (If you aren't a human though, please reply here with the word "beep" and I'll disregard your past advice).

I'll try to stitch this all into one set, maybe share back here for confirmation that I'm getting it and then try to start this weekend or next. I have my own completionist hangups that I need to get over and ultimately just try something to get my hands dirty. Thanks again, all.

[–] bluGill@fedia.io 9 points 1 day ago (1 children)

Start with a problem. What you trying to solve. Hosting music is different from backing up your computer. That is different from a home dashboard.

[–] Snapz@lemmy.world 2 points 1 day ago (1 children)

In clearest terms, I want to completely erase Google from my life first, among other wants. Not expecting you or others to flee with detailed solutions/recommendations, but just to illustrate. My priority is likely:

  • Photos, all photos, app accessible locally for my family (and ideally remotely, eventually)

  • Notes, no more keep, but the basic flow of that app works for me, so similar UX hopefully without overcomplicating.

  • Music, local library accessible to stream throughout my home on capable devices and app accessible. Remotely accessible by app, if possible.

  • TV / Movies, as above with music, but ability to control with harmony remote on a TV and not keyboard/mouse ideally (but I do have decent workarounds here currently)

  • Optionally run all above through a self hosted, local voice assistant or mounted HW buttons.

  • Corresponding hue light control for media events, presence detection (maybe motion detection by room) and sun schedule. All without data going back to any 3p servers.

Nice to haves:

  • Calendar away from google, that allows simple external appointment scheduling, shared calendars and great colorful, visual organization of a coming week. Ideally a safe, private way for calendar to connect to and create events from emails.

  • Email, my own data and ability to use aliases that route back to main with corresponding tags ideally

  • Owning my online bookmarks, browser/device agnostic, with usable recall help, auto tags and read it later structure so saved articles don't just fall into the abyss. IIRC there was something called something like "Shinobi" that felt exciting for this need?

[–] Reannlegge@lemmy.ca 1 points 21 hours ago

looking at your list, make sure you have a good understanding of whatever tool you are going to use and a place to back up your photos before you remove them from Google or where ever you have your photos stored.

[–] skankhunt42@lemmy.ca 9 points 1 day ago

Install docker.

Choose something you want to replace. Docs, image, chat, etc.

Research replacements for $Service

Bring up the docker Container and get it working.

Use it for a day/week as the replacement. If you don't like it try a different replacement from the list above. Continue until happy.

Research a replacement for $OtherService

Bring it up on docker....

Check resources as you go. Maybe use Linux + docker on laptop and NFS from nas for storage. When the laptop isn't powerful enough anymore look at adding another docker host. Just keep building from there.

Also backups. Maybe a wiki to document your journey.

[–] Reannlegge@lemmy.ca 1 points 21 hours ago

Don’t be afraid to try one thing, it may lead to another, and another, to having your LAN changed forever.

[–] Decronym@lemmy.decronym.xyz 1 points 21 hours ago* (last edited 7 hours ago)

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
DNS Domain Name Service/System
Git Popular version control system, primarily for code
ISP Internet Service Provider
IoT Internet of Things for device controllers
NAS Network-Attached Storage
NFS Network File System, a Unix-based file-sharing protocol known for performance and efficiency
PiHole Network-wide ad-blocker (DNS sinkhole)
RAID Redundant Array of Independent Disks for mass storage
SSD Solid State Drive mass storage

[Thread #8 for this comm, first seen 10th Jun 2026, 22:40] [FAQ] [Full list] [Contact] [Source code]

[–] UndergroundGoblin@lemmy.dbzer0.com 5 points 1 day ago (1 children)

Install a PiHole and route your whole traffic through it. Its easy to setup, you learn a bit about networking and the impact is massive. Would always recommend to start with a PiHole.

[–] Reannlegge@lemmy.ca 2 points 21 hours ago

I was going to suggest this as well

[–] irmadlad@lemmy.world 6 points 1 day ago

I'm the map, I'm the map, I'm the map /s

(In my mind this is hosting images, music, video, connected home controls, search and email)?

  • Hosting Images: Immich seems to be a hit
  • Music: Navidrome which I use daily
  • Video: Jellyfin seems popular these days. Part of the 'arr stack
  • Home Controls: Home Assistant gets rave reviews
  • Search: Searxng which I use daily
  • Email: MailCow gets some good reviews

What are the specs on that SFF? Of the 6 I listed, Immich and Jellyfin might need a few more resources, especially transcoding video. I am not familiar with running either. The rest should run within a nominal spec of something post 2015. I'm running that and another 30+ containers on a little Dell Optiplex 7020 SFF with the i7-4790 chip and 32 GB RAM (which is a bit overkill), and it barely breaks a sweat. Load averages usually run .20 .15 .35, essentially sleeping. The only time it's under a real load is on boot up starting about 40 containers total, and that usually takes less than 2 minutes.

I mean, you could start lower on the totem pole and work your way up to those 6, but if your equipment is, like I said, within the last 10 or so years, you should be fine to march right on up to the top. That is, unless this is a learning mission for you and you wanted to just 'try out' other similar containers. If I were to give you a map, I'd say start with one container. See how it runs. Learn it. Take note of load averages, temps, resources. Then slowly add to the list. Worst case you might have to split the load between a laptop server and the SFF or NAS if it has capabilities to do so.

There are some security measures to keep in mind with Jellyfin, and with all containers you run really. But Jellyfin seems to need some extra attention, or so I've read.

I'm not sure how far along you are as a 'novice', but Linux Upskill Challenge is always a good bookmark.

[–] L7HM77@sh.itjust.works 2 points 1 day ago

Get a cheap pcie 1Gbit Intel NIC from ebay, cheap switch, Ethernet cables.

Throw the NIC and proxmox into the SFF, make a VM for OPNsense, use the switch downstream from the SFF. Get the NAS and laptop onto a separate LAN firewalled from the ISP.

Set up another VM in proxmox for a workspace, connect it to the NAS file shares, do the same with the laptop. Set up syncthing on laptop, workspace VM, and the NAS if it supports it. Make a keepass database, start organizing all logins to keepass, keep everything synchronized with syncthing.

Set up tailscale, add it into OPNsense to allow easy and secure(?) remote access into your subnet. (I use tailscale, but don't trust them much and want to switch away.)


Its very daunting at first, but this is the path I took, not really a guide. All this will take a few days of constant effort to get right, but you absolutely don't need to do everything at all once, just a slow migration. I've been slowly building mine up for about 5 years now, and there is no one "right" answer to anything.

Only move forward when you get comfortable with each step. I personally run everything from a stack of thin clients I got from some kid off Craigslist. Think they came out of a bar and grill, filled with grease and cigarette tar, but they cleaned up nice. A full Arr stack with jellyfin runs great on an Intel 6500t with 16gb DDR3 ram.

Slowly get comfortable with the CLI and general security updates, next thing you know you'll have 3x smart switches, better/faster NICs for the proxmox box, a WIFI6 AP for better throughput. Its endless. I try to focus on minimal wattage, my full stack pulls a steady 80 to 100 watts 24/7. You'll get a "gut" felling for what runs best on what hardware. I spent too much on Raspberry Pi's in the past, should've tried thin clients sooner.

[–] psycotica0@lemmy.ca 4 points 1 day ago

Similar to others here, but slightly different: start with what you're most excited about. There'll be some shitty parts where you're confused and frustrated, and if you feel like you're just doing something you're "supposed to do", it can feel like a job for no pay. Pick something you have an inner thrill for, and maybe that fire can carry you through the dark.

[–] roofuskit@lemmy.world 4 points 1 day ago

Solve one problem, get it stable, move on to the next.

[–] toebert@piefed.social 4 points 1 day ago* (last edited 1 day ago)

I think there is no comprehensive guide because people have varying opinions on what's "best". IMO the "best" for everyone is the way that they understand how things work and are comfortable to manage it, regardless of how good or bad someone else says that is.

My recommendation is to just accept you will not get it right first time, you'll eventually face the issues and limitations of whatever way you picked and have to either rebuild or adapt.

Personally, I'd say choose a starting path of do you want to learn about the various technologies and have maximum potential (and, problems to solve) or do you just want to get some of the common apps running and don't care how as long as they run and be limited by what's available, but with much fewer issues. Path 1 is following the docker/proxmox path and it may take a lot of reading and watching YouTube tutorials before you get somewhere, path 2 is aiming for something like casaOS or similar and probably watching their getting started will get you results faster but if something breaks or is not available, you may get stuck.

Last, pick 1 thing that's your goal and work on getting that there. There is no right order, but the more popular something is the more resources there will there be. https://selfh.st/apps/ is a great resource for finding things. Jellyfin is actually pretty easy to start with and gives you some good paths forward around it (e.g. start with you manually getting your media in the right place, then you can work on adding other apps that will do it for you). I'd advise to avoid self hosting email, it's rather difficult.

Once you grasp how things work, it becomes a shopping mall of just add what you want, it's just climbing that hill at least once that's hard if you're not from a tech background.

[–] Muehe@lemmy.ml 2 points 1 day ago

Well if you want the real basics of self-hosting then depending on your level of knowledge you may want to follow a Linux tutorial like this one: https://labex.io/linuxjourney

This will teach a lot of basic knowledge and terminology you may need when setting up or maintaining containers and VMs. Admittedly, this is somewhat tangential knowledge to your immediate goals, but if you want to actually use your self-hosted stuff remotely later this will become critical to doing so safely.

As for the map, for me it was something like:

Local LXC/QEMU → Remote LXD over SSH on a RPi → Proxmox on a dedicated box through the webinterface

In hindsight I would have started with Proxmox directly though I guess. One big downside is it doesn't integrate well with Docker containers, you have to set up a full VM as your Docker host. On the upside though you can install LXC containers from https://www.turnkeylinux.org/ in a few clicks, so it's very good for just testing stuff out and playing around.

[–] SuspiciousCarrot78@aussie.zone 1 points 1 day ago* (last edited 1 day ago)
[–] paf@jlai.lu 2 points 1 day ago (1 children)

You can find resources for each categories but don't think there is one that would cover everything and the reason is there is always several ways to do things and not one way for all.

First you need to choose an OS. You have a few choices here, a good way to start if you don't have much knowledge on linux command, docker... is to use something like Casa OS, Zima OS which are much more beginner friendly, it basically has a store where you can pick what you need to selfhost. If you already feel more confident and want absolute full control you can use proxmox instead.

Once you settled your OS, you need to pick what to use sleefhost image, music.... Here you have again several solutions, you can check immich for pictures, jellyfin for music/video, home assistant for smart home.

[–] MonkderVierte@lemmy.zip 1 points 8 hours ago

Yeah, maybe instead of being stuck in limbo with a custom barebones zero-compromise setup on Alpine, i should go with a few positive experiences for a start. I did learn a lot, though.

[–] BlueEther@no.lastname.nz 2 points 1 day ago

I would say start with Samba (or other NAS network FS), then try something like Immch image storage, move on to Jellyfin and a arr stack and then the world is your oyster