How to use this list of self-hosted apps
If you have browsed the awesome-selfhosted list on GitHub, you know the problem: there are thousands of options and no obvious starting point. This kit narrows that down to a few proven picks per job. Install them roughly in this order, because each step makes the next one easier. Most of these projects publish Docker images, so the examples assume you run Docker (software that packages each app in its own isolated container).
Manage containers and reach them safely
Portainer gives you a web interface for Docker, so you can start, stop, update and inspect containers without memorising commands. It also handles Swarm and Kubernetes (tools for running containers across several servers) if you grow into them. It uses the Zlib licence.
Dockge is a smaller MIT-licensed alternative that focuses on Docker Compose files. You write or paste a compose file, and Dockge runs the stack and shows its logs. Pick it over Portainer if you prefer keeping each app as a readable file.
Nginx Proxy Manager lets you reach each app at its own address, such as files.example.com, with free Let’s Encrypt certificates for HTTPS. It is MIT licensed and configured through a web interface rather than config files.
Keep your files and photos in sync
Nextcloud is the usual first big app. It provides file sync and sharing, calendars, contacts and online office documents, with an app store for extras. It is AGPL-3.0 licensed and needs a database and some tuning to run smoothly, so give it a little more memory than the other self-hosted apps in this kit.
Syncthing takes a lighter approach. It keeps folders in sync directly between your devices without a central server, under MPL-2.0. Use it when you only need files to match across machines and do not need sharing links or calendars.
Immich backs up the photos and videos from your phone to your own server, with face recognition and shared albums, and it works as a replacement for Google Photos. It is AGPL-3.0 licensed. Keep its library on a disk that your backups cover, because it often ends up holding the only full copy of your photos.
Store your passwords
Vaultwarden is a lightweight, unofficial server that works with the official Bitwarden apps and browser extensions. It is written in Rust, uses AGPL-3.0 and runs comfortably on a Raspberry Pi. Because it holds your most sensitive data, put it behind HTTPS and include it in your backups from day one.
Block ads for every device on your network
Pi-hole acts as your network’s DNS server (the service that turns names like example.com into addresses) and refuses requests to known ad and tracking domains. Every device on your network benefits, including smart TVs and phones.
AdGuard Home does the same job under GPL-3.0 and adds encrypted DNS out of the box. Pick one, not both. AdGuard Home is a single program that is quick to set up, while Pi-hole has a long history and a large community.
Reach your server securely from anywhere
wg-easy runs a WireGuard VPN (virtual private network) with a web page for adding devices, showing QR codes and viewing traffic. It is AGPL-3.0 licensed and a good fit when one server sits behind your home router.
Headscale is an open-source version of the Tailscale control server under BSD-3-Clause. It connects all your devices into one private network without opening ports on every machine, which helps once you have more than one location.
Add a dashboard for your self-hosted services
Homepage is a start page configured in YAML that shows each app with live widgets and Docker status. It uses GPL-3.0 and suits people who like editing a config file.
Glance mixes RSS feeds, server stats, weather and other widgets on one page under AGPL-3.0. Choose it if you want your dashboard to double as a daily news page.
Monitor your apps and back up your data
Uptime Kuma checks your websites, ports and services and alerts you through email, chat apps and many other channels when something goes down. It is MIT licensed and can publish a public status page.
restic is a fast, encrypted backup program under BSD-2-Clause. It stores deduplicated snapshots on a local disk, over SFTP or in S3-compatible storage. Back up your Docker volumes and settings, and test a restore at least once, because a backup you have never restored may fail when you need it.
Stream your own films and music
Jellyfin is a media server for the films, TV shows, music and photos you already own. It streams them to TVs, phones and browsers, has no paid tier and uses GPL-2.0. Set it up once the basics above are stable, and give its media folders plenty of disk space.
Self-hosted apps to add once the basics work
Coolify is a self-hosted platform that deploys apps, databases and one-click services from Git to your own servers, much like a private Heroku or Vercel. It uses Apache-2.0. It is useful when you start hosting your own projects, and it can replace Portainer for that work.
Actual is a local-first budgeting app with envelope budgeting and sync across devices, under MIT. Umami is privacy-focused web analytics under MIT, a simple replacement for Google Analytics on your sites.
Paperless-ngx turns scanned paper and PDFs into a searchable archive. It reads each page with OCR (optical character recognition, which turns images of text into text) and uses rules to tag and sort new documents. It uses GPL-3.0 and suits households and small offices that want to stop keeping paper files.
How to pick the best self-hosted apps for your setup
Start small and grow:
- First weekend: Docker plus Portainer or Dockge, then Nginx Proxy Manager.
- Daily value: Vaultwarden, then Pi-hole or AdGuard Home.
- Files: Syncthing for simple sync, Nextcloud for a full cloud replacement, Paperless-ngx for scanned paperwork.
- Photos and media: Immich for phone photo backups, Jellyfin for films and music.
- Away from home: wg-easy for one server, Headscale for several sites.
- Peace of mind: Uptime Kuma and restic before you add anything else.
Homelab apps and small-business servers need the same basics, but a business should take backups and updates more seriously. Choose self-hosted software that is actively maintained, keep a note of what you installed and why, and avoid exposing admin pages to the internet. For more open source self hosted projects, the explorer button above opens our full self-hosters list, which you can narrow by department or workflow.