Robert Triggs / Android Authority
Self-hosting is having a moment, but as interesting as it sounds, figuring out what you want to self-host is just as important as the process of setting it up. You can spin up containers all day long, but unless they’re solving a problem in your life, it’s just tinkering for tinkering’s sake.
It’s the problem I faced when I started dabbling with building a home server years ago. Community forums, Reddit, and even YouTube channels were full of interesting projects that looked cool. I wasn’t sure where to begin. Did I want my own cloud? A media server? A smart home hub? The more I read, the more options I saw, and the less clear the starting point became. Did I even need half of these apps and services?
Over time, I came to the same realization most self-hosters and data hoarders come to. Self-hosting isn’t about replacing everything. It’s about picking the right places to start, the apps that justify the effort, as well as identifying the apps that you’ll want unobstructed access to. After years of self-hosting, these are the ones that stuck for me, and what I feel make for the best starting point for most people new to the hobby.
Do you self-host services? 553 votes Yes, most of software stack runs on a server I control. 44 % Yes, I've dabbled in the basics like a media server. 37 % No, I'm happy with cloud services. 9 % No, it's too complicated for me. 10 %
Portainer
Dhruv Bhutani / Android Authority
If you’re kicking off your self-hosting journey, it’s inevitable that you’ll go down the rabbit hole of Docker. The containerization platform is the deployment tool of choice for most popular open-source apps and makes it easy for apps and services to include all dependencies into essentially a single file.
Let me put it this way: Docker is both the gateway and the gatekeeper to self-hosting. Everything runs on it, but it’s also the biggest reason beginners give up. While I urge anyone new to self-hosting to familiarize themselves with the command line, when faced with a wall of YAML files and cryptic commands, most people start to wonder if setting up a media server is really worth it.
Portainer makes managing Docker as easy as clicking a few buttons.
My first pick for setting up a self-hosted environment is a self-hosted app that makes self-hosting much easier. That tongue twister of a sentence aside, I’m talking about Portainer. This self-hosted app is a web dashboard that sits on top of Docker and makes the whole thing much more manageable. Instead of memorizing commands, Portainer can pull images, set up containers, and manage networks through a clean, simple, well-labeled interface. Mostly though, it’s a huge step up over Docker’s terminal interface.
By exposing the entire back-end process and simplifying it via an easy-to-understand graphical interface, Portainer is the key to start exploring the world of self-hosted apps. And if something breaks, you’re no longer hunting down logs. Instead, you can remove the container and start from scratch with a click. Portainer doesn’t always pop up on popular lists of self-hosted apps to check out, but it’s a must-install for me because of how easy it makes installing everything else that follows.
Nextcloud
Dhruv Bhutani / Android Authority
Reducing reliance on Google services, especially for things like file sharing, tends to be one of the top reasons to dabble with self-hosting. However, letting go of Google is hard. The convenience of cross-platform sync, seamless sharing, backups, and more is undeniable. But Nextcloud is one of the self-hosted services that can claim to match most of those features while running from your own server.
Nextcloud, at first glance, is really just a file sync server that recreates a Dropbox or Google Drive-style environment on your own server or NAS. But spend a little more time with it, and you realize Nextcloud is more of a personal productivity suite with everything from calendars to collaborative document editing and even email included, should you want to use that. Personally, I’d recommend sticking to a cloud-hosted email provider for more than a few reasons.
Nextcloud makes it easy to set up your own self-hosted private cloud.
In fact, I haven’t adopted several of Nextcloud’s services. For me, it is the file sync that has kept me hooked. It’s allowed me to keep files in sync between my NAS, my computers, and even my phones. Moreover, it allows me to keep those files available everywhere. I can easily share folders with anyone I want, and Nextcloud handles all the busywork of making sure these files are reachable. Nextcloud’s modular approach ensures that you can add additional bits like, say, a notes app, as and when you need them.
It’s worth keeping in mind that Nextcloud isn’t the lightest app around, so if you’re building out a server, you’ll want something relatively beefy. But once it’s up and running, it usually gets out of the way outside of basic updates and maintenance every once in a while. All while giving you a solid alternative to Google Drive and many other Google services, should you choose.
Home Assistant
Rita El Khoury / Android Authority
One of the first apps I installed when I got started with self-hosting was Home Assistant. The idea of taking back control of my smart home was appealing. Since then, Home Assistant has become the control center of my entire home to the point that I have a dedicated display dashboard for accessing the dozens of shortcuts and automations I’ve configured. But I digress.
Most smart devices ship with their own apps and cloud services, which means you end up juggling multiple dashboards and handing over data you probably don’t want to. Home Assistant fixes that.
The app is basically a central hub for your smart devices. It can tie together your lights, plugs, sensors, and thermostats into one system and let them actually talk to each other, no matter the platform or ecosystem they belong to. This lets you build automations that work across devices that wouldn’t otherwise be able to talk to each other. It’s great.
Home Assistant is the central hub that ties together my smart home.
I started small with lights turning on at sunset and off at bedtime. Since then, I’ve gotten a lot more ambitious. For example, when I hit play in Jellyfin, the living room lights dim automatically. Motion sensors installed around my home take care of night lighting so I do not stumble around in the dark. I’ve also configured it to adjust my air conditioner using an IR blaster.
There’s no direct alternative to Home Assistant, which is what makes it so appealing. It gives you the tools to build your own logic and automations and gives you full control over all the devices in your home. All while running locally.
Jellyfin
Robert Triggs / Android Authority
I’ve long been a proponent of building your own local streaming library. Much as streaming services like Netflix make life convenient, they are proof that you don’t actually own what you’re watching. Between movies and shows being pulled off services, rising subscription costs, or just the complexity of finding what you want to watch, it’s a bit of a mess. Jellyfin fixes that.
It is a media server that organizes your movies, shows, and music with proper metadata, then streams them anywhere. That’s it. If you’ve heard of Plex, Jellyfin is very similar except for one big distinction. Jellyfin is fully open source while Plex is not. There are no upsells, no premium features locked behind a subscription, and no account requirements. Considering how expensive Plex’s subscription cost has become, I see that as a plus.
If you want to build your own private Netflix, Jellyfin is the way to go.
The app is easy to get started with. In my case, I’ve ripped my Blu-ray collection onto a NAS and pointed Jellyfin at it. The interface automatically pulls in the artwork, sorts it into categories, and immediately lets you stream it to a TV. By and large, it works perfectly. Since it works with your media, you know exactly what’s available, there are no ads, and no unneeded recommendations cluttering up your movie-watching experience. Club it with apps for various smart TVs and phones, and you’ve got a setup that can go with you anywhere.
Sure, building out your own personal Netflix takes a bit of effort. Especially if you obtain legitimate copies of titles, which I’d recommend. But Jellyfin eases the task of actually working with those titles and viewing them wherever you want.
Navidrome
Dhruv Bhutani / Android Authority
I subscribe to practically every streaming service for the convenience, but alongside, I maintain a full-featured personal music library. It’s all the more important with more and more artists pulling their music off streaming platforms. Similarly, I’ve got a large vinyl collection that I’ve digitized. This music doesn’t even exist on streaming services.
Tired of Spotify? Give Navidrome a shot.
Navidrome is a self-hosted music server that lets you stream your music and media across all your devices. And it does that while looking modern. The app has all the essentials like playlists, album art support, and metadata pull-downs. Effectively, it turns your media library into your own personal Spotify.
It’s an essential if you want control over your music library without giving up the conveniences that come with modern streaming-based music apps.
Paperless-NGX
Dhruv Bhutani / Android Authority
Media hosting might be one of the biggest use cases of a self-hosted environment, but open-source self-hosted apps are just as good at keeping your life in order. One of my favorite apps for doing just that is Paperless-NGX.
If you have piles of paperwork at your home or office, Paperless-NGX makes it infinitely easier to manage. Be it bills, receipts, forms, and more, Paperless takes those documents, automatically tags them, organizes them, and makes the text searchable using optical character recognition.
If you're drowning under bills, receipts, and invoices, Paperless-NGX brings order to the chaos.
As a consultant, I have to keep tabs on invoices and bills to be submitted for reimbursement and tax purposes. I’d usually maintain a folder full of these documents, but with Paperless, I just scan them in or drop in a PDF and keep track of the documents. It’s one of the most useful tools in my self-hosting stack and one that I recommend to almost anyone getting started with building out a stack.
Immich
Robert Triggs / Android Authority
Managing photos is arguably the hardest part of the puzzle. Not only do you need an effective way to sort through hundreds if not thousands of images, you also need a way to manage ingest from smartphones and cameras.
Immich lets you build out your own self-hosted Google Photos alternative.
I’ve looked at many self-hosted options to solve this need. However, Immich is the one that gets closest to replacing Google Photos, both in its simplicity and scope of features. Immich takes a Google Photos-inspired interface and clubs it with the benefits of hosting your own media. The photos stay on your hardware and can still be searched by face, location, and more metadata. The app uses local AI to catalog all this information, making it speedy in everyday use. While I still manage all my photos manually, Immich has made accessing those images infinitely easier, earning it a spot in my recommendations.
Dockpeek
Dhruv Bhutani / Android Authority
By the time you’ve installed some or all of these services, you’ll have run into a very common problem. How do you remember the port numbers for each app? While you can certainly set up a local DNS server to assign a simple name like, say, immich.local, for your services, if you’re just starting out, that’s anything but easy.
This dashboard is all you need to launch your self-hosted apps with ease.
Instead, I recommend installing Dockpeek. There are many self-hosted dashboards, but Dockpeek keeps it simple by just listing out all the Docker containers running on your server. You can then click the link next to the container and jump right into the service. There’s even an option to identify which containers need to be updated. My preferred way of using it is to set it as your homepage in Chrome. From there, it’s a one-click step to jump into your media server, notes app, home assistant, or any other self-hosted service.
The beginner’s guide to self-hosting The best way to get started with self-hosting is to take it slow. Or at least, that’s been my personal experience. With the sheer number of open-source apps solving the same issues, all too often, you’ll have decision fatigue in picking out what app to install. Targeting one problem point at a time gives you the bandwidth to try out all the options available and pick an app that suits your needs.
For example, while I picked Portainer, you might want to go with DockGe. Or swap Jellyfin with Plex, Navidrome with LMS, Immich with Photoprism, and Dockpeek with Heimdall. Unlike commercial apps, there’s an element of DIY and maintenance involved with self-hosting. But that’s part of the fun. Experimenting with apps is perhaps the best way to learn more about Docker environments in particular and self-hosting in general. In the meantime, these recommendations should be a solid starting point in your self-hosting journey.
Follow