guidesStarter Stack for Self-Hosting

Starter Stack for Self-Hosting

updated January 15, 2025

A self-hosted setup can be as small as one service on a spare machine or as large as a homelab with a dozen containers. This guide is for people starting with little to no experience. It maps the main categories of tools you will likely need and suggests a sensible order for getting started.

Start with a reverse proxy

A reverse proxy sits in front of your services and routes incoming traffic to the right container. It also handles SSL certificates. Set this up first, before anything else, so you are not managing ports and HTTP exceptions as you add services.

Caddy handles automatic HTTPS via Let's Encrypt and has a clean configuration syntax that is easier to learn than NGINX. NGINX is more widely documented and has more community examples. Traefik is Docker-native and works well if you plan to run many containers. All three are in the catalog.

Best for beginners: Caddy. Best for Docker-heavy setups: Traefik. Best for documentation and community resources: NGINX.

Files and sync

Nextcloud is the most practical starting point for cloud storage. It handles file sync and sharing across devices, has desktop and mobile clients, and adds calendar, contacts, and document editing through apps. It is more than a file server, which makes it useful but also heavier to set up and maintain.

Media

Jellyfin is a media server for organizing and streaming video, music, and other content. It supports user accounts and is accessible from a browser, smart TV apps, and mobile clients. It is beginner-friendly and handles most common media formats without additional configuration.

Photos

Immich is the recommended starting point for self-hosted photo backup. It has iOS and Android apps for automatic backup and a web interface for browsing. It requires Docker and more RAM than lighter services, so factor that into hardware planning.

Passwords

Bitwarden supports self-hosted deployment and has polished apps for all platforms. It is the most practical self-hosted password manager for most setups. Vaultwarden is a compatible alternative that requires significantly fewer resources.

Monitoring

Once you have a few services running, you will want to know when one goes down. Uptime Kuma is the most commonly recommended monitoring tool for small self-hosted setups. Portainer is a Docker management interface that makes container administration easier without the command line.

Home automation

Home Assistant is included here because it comes up often in self-hosting discussions, but it is its own category of complexity. If smart home control is not a goal, skip it for now. If it is, it works well alongside the rest of this stack.

Where to start

  • Set up a reverse proxy (Caddy is the easiest starting point)
  • Add Nextcloud for files and basic productivity
  • Add Jellyfin if you have a media library
  • Add Immich if photo backup is a priority
  • Add Bitwarden or Vaultwarden for credentials
  • Add monitoring once the above services are stable

Add one service at a time and understand how each one works before adding the next. The services above each run in Docker and follow similar setup patterns.