Resources
Short, practical guides for choosing and switching to self-hosted tools, plus links to good documentation elsewhere.
Before you self-host something
- Pick where it runs: a home server, NAS, Raspberry Pi or rented VPS. Check the app's own requirements (shown on its page where the docs give them).
- Plan backups first: decide where the app's data and database will be copied to, and test a restore before you rely on it.
- Plan updates: self-hosted apps need you to install updates, including security fixes. Note how the app is updated (for example pulling a new Docker image).
- Decide how you'll reach it: keep it on your home network, use a VPN such as Tailscale, or put it behind a reverse proxy such as Caddy or Traefik with HTTPS.
- Check how your data gets in and out: look for import options from the SaaS you're leaving, and an export so you're not locked in again.
- Read the licence: most apps here are open source, but a few use source-available or proprietary licences that restrict some uses.
How to read the listings
- Stars: how many people have bookmarked the project on GitHub, GitLab or Codeberg. A popularity signal, not a quality score.
- Last commit: when code was last pushed. Some come from awesome-selfhosted-data's own fetch, which is labelled on the app page.
- Runs with: the deployment methods and languages awesome-selfhosted lists for the app (Docker, Kubernetes, Debian package, PHP, Node.js…).
- Requirements: Docker, ARM and memory only appear when the app's own docs or awesome-selfhosted say so. Blank means not documented yet.
Useful links
- awesome-selfhosted ↗The community list of self-hosted software that much of this directory's data comes from.
- Docker Compose documentation ↗How to define and run multi-container apps, which is how many apps here are installed.
- Docker volumes: back up, restore or migrate ↗Docker's own guide to where container data lives and how to back it up.
- Caddy documentation ↗A web server and reverse proxy with automatic HTTPS.
- Traefik documentation ↗A reverse proxy that discovers Docker containers and routes traffic to them.
- Tailscale documentation ↗Reach your self-hosted apps from anywhere over a private network, without opening ports.
Know a guide that should be here? Tell us.