---
title: "Best 125+ Docker Containers for Home Server in 2026"
description: "Practical list of 125+ Docker containers for a home server in 2026: media, VPN, PaaS, monitoring, finance, and more. Updated for the Plex paywall, Coolify, and current self-hosted picks."
date: 2026-07-30
categories: ["self-hosting"]
tags: ["docker","self-hosted"]
---

import Notice from "@components/widgets/Notice.astro";
import Accordion from "@components/widgets/Accordion.astro";
import ListCheck from "@components/widgets/ListCheck.astro";

[Docker](https://www.docker.com/) packs an app with its runtime so it runs the same on a mini PC, VPS, or rack. This page is a **catalog of 125+ home-server containers** for 2026, not a "install everything" checklist.

## How to use this page

1. **Pick a goal** in the table below (media, files, lab control plane, …).
2. **Install the short starter stack** if you are new.
3. **Open one category** you care about. Each section starts with a **quick-pick table**, then short notes on the important tools.
4. Skip the rest until you need it.

<Notice type="info" title="Don't install 125 containers">
Run 8–15 that match what you actually use. A quiet lab beats a noisy one.
</Notice>

### Pick a goal

| I want… | Go here | Typical first picks |
| --- | --- | --- |
| Free media streaming + downloads | [Media](#media-management-containers) | Jellyfin, Prowlarr, Sonarr/Radarr, qBittorrent, Gluetun |
| Google Photos replacement | [Photography](#photography-and-image-management-containers) | Immich |
| Dropbox / Google Drive replacement | [Files](#file-sharing-and-sync-containers) | Nextcloud or Seafile, Filebrowser Quantum |
| Ad blocking + remote access | [Network](#network-management-containers) | AdGuard or Pi-hole, Tailscale, Caddy |
| Know when things break | [Monitoring](#monitoring-and-analytics-containers) | Uptime Kuma, Dozzle, Beszel |
| Deploy apps like Vercel at home | [Development](#development-containers) | Coolify or Dokploy |
| Passwords + simple SSO | [Security](#security-and-privacy-containers) | Vaultwarden, Pocket ID or Authelia |
| Local AI chat | [AI](#ai-applications-containers) | Ollama + OpenWebUI |
| Budget / recipes / bookmarks | [Productivity](#productivity-containers), [Finance](#personal-finance-containers) | Mealie, Actual Budget, Karakeep |

### What changed in 2026 (short)

- **Plex remote streaming needs a paid pass** (local still free). Lifetime Pass for new buyers is **$749.99** since July 1, 2026. Many people switched to **Jellyfin**.
- **Filebrowser Quantum** is the active file-manager fork (original is maintenance-only).
- **Coolify / Dokploy**, **Gluetun**, **Dozzle**, and **Pocket ID** are common defaults now.

More detail is in [What's changed in 2026](#whats-changed-in-2026) at the end.

---

## Starter stack (do this first)

If you are starting from zero, this set covers streaming, downloads, files, dashboard, DNS, management, and basic monitoring.

| # | Container | Role | Why | Details |
| --- | --- | --- | --- | --- |
| 1 | Dockge | Manage Compose stacks | Easier than raw CLI | [Network](#network-management-containers) |
| 2 | AdGuard Home or Pi-hole | DNS + ads | Whole network | [Network](#network-management-containers) |
| 3 | Homepage or Glance | Dashboard | One URL for everything | [Dashboards](#personal-dashboard-containers) |
| 4 | Filebrowser Quantum | Web files | Quick upload without full cloud | [Files](#file-sharing-and-sync-containers) |
| 5 | Jellyfin | Media | Free remote; no Plex tax | [Media](#media-management-containers) |
| 6 | qBittorrent + optional Gluetun | Downloads | VPN only the downloader | [Media](#media-management-containers) |
| 7 | CrowdSec | IPS | Blocks noisy attackers | [Security](#security-and-privacy-containers) |
| 8 | Uptime Kuma + Dozzle + Beszel | Ops | Up? Why down? Logs? | [Monitoring](#monitoring-and-analytics-containers) |

**Order that works:** Dockge → DNS → dashboard → files → media → downloads → CrowdSec → monitoring.

### Minimal compose example

Three services to get Docker muscle memory. Add the rest as separate stacks in Dockge.

```yaml
services:
  adguardhome:
    image: adguard/adguardhome
    container_name: adguardhome
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "3000:3000/tcp"
    volumes:
      - ./adguard/work:/opt/adguardhome/work
      - ./adguard/conf:/opt/adguardhome/conf
    restart: unless-stopped

  homepage:
    image: ghcr.io/gethomepage/homepage:latest
    container_name: homepage
    environment:
      - TZ=America/New_York
    volumes:
      - ./homepage-config:/app/config
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - "3001:3000"
    restart: unless-stopped

  dockge:
    image: louislam/dockge:1
    container_name: dockge
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./dockge-data:/app/data
      - ./dockge-stacks:/opt/stacks
    ports:
      - "5001:5001"
    restart: unless-stopped
```

<ListCheck>
<ul>
<li>Static IP (or DHCP reservation) on the server</li>
<li>Compose files + env samples in Git</li>
<li>Data on SSD; media libraries can live on HDDs</li>
<li>No public ports without a reverse proxy + auth</li>
</ul>
</ListCheck>

<Accordion label="Hardware, OS, and Docker install (expand if you need it)" group="setup">

**Hardware (rough guide)**

| Component | Minimum | Comfortable | Heavy (4K + AI) |
| --- | --- | --- | --- |
| CPU | Quad-core 2.0 GHz | Quad-core 2.5 GHz+ | 6+ cores, Quick Sync / GPU |
| RAM | 8 GB | 16–32 GB | 64 GB+ |
| Storage | 128 GB SSD | 512 GB NVMe + HDD | 1 TB NVMe + multi-HDD |
| Network | 1 GbE | 2.5 GbE | 10 GbE |

Transcoding and Immich/Nextcloud are the usual RAM/CPU hogs. Mini PC picks: [Best mini PC for home servers](https://www.bitdoze.com/best-mini-pc-home-server/).

**OS options:** Ubuntu Server or Debian for plain Docker; Unraid / TrueNAS Scale if storage is the point; Proxmox if you want VMs + containers.

**Install Docker (Debian/Ubuntu-style):**

```bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
# log out/in, then:
docker run hello-world
```

Compose V2 is the `docker compose` plugin (no separate `docker-compose` binary required). The top-level `version:` key in compose files is optional now.

More ops notes: [Monitor server and Docker resources](https://www.bitdoze.com/sever-monitoring/). More apps: [toolhunt.net self-hosted](https://toolhunt.net/sh/).

</Accordion>

---

## Full catalog

Use the jump table, then skim each section's **quick picks** before the writeups.

| Category | Start here | Also see |
| --- | --- | --- |
| [Media](#media-management-containers) | Jellyfin, *arr, qBittorrent, Gluetun | Audiobookshelf, Overseerr |
| [Files](#file-sharing-and-sync-containers) | Nextcloud / Seafile, Filebrowser Quantum | Syncthing, RustFS |
| [AI](#ai-applications-containers) | Ollama + OpenWebUI | LiteLLM, Flowise |
| [Home automation](#home-automation-containers) | n8n, Home Assistant | Node-RED |
| [Network](#network-management-containers) | AdGuard, Tailscale, Caddy, Dockge | Traefik, Komodo, WireGuard Easy |
| [Monitoring](#monitoring-and-analytics-containers) | Uptime Kuma, Dozzle, Beszel | Scrutiny, Netdata |
| [Notifications](#notification-containers) | ntfy | Gotify, Apprise |
| [Security](#security-and-privacy-containers) | Vaultwarden, CrowdSec, Pocket ID | Authelia, Authentik |
| [Productivity](#productivity-containers) | Stirling PDF, Mealie, Bookstack | Karakeep, Memos |
| [Development](#development-containers) | Coolify or Dokploy, Gitea | Watchtower, Code-Server |
| [Backup](#backup-and-recovery-containers) | Backrest or Kopia | Duplicati, Restic |
| [Finance](#personal-finance-containers) | Actual Budget or Firefly III | Wallos |
| [Photos](#photography-and-image-management-containers) | Immich | PhotoPrism |
| [Dashboards](#personal-dashboard-containers) | Homepage or Glance | Homer |
| [Databases](#database-containers) | PostgreSQL, Valkey | MariaDB |
| [Airtable-style](#self-hosted-database-solutions-airtable-alternatives) | NocoDB or Grist | Baserow |
| [Specialty](#specialty-tools) | RSS, games, chat, VoIP, analytics | RustDesk, Dawarich, Matomo |

### Media management containers

Stream your own library. Most people start here.

**How the stack fits together**

```
Prowlarr → Sonarr / Radarr → qBittorrent (+ Gluetun) or SABnzbd
                ↓
         Jellyfin / Plex
                ↑
     Bazarr (subs) · Overseerr (requests) · Audiobookshelf (audio)
```

#### Quick picks

| Need | Pick | Image |
| --- | --- | --- |
| Free media server | **Jellyfin** ⭐ | `jellyfin/jellyfin` |
| Polished apps, will pay for remote | Plex | `linuxserver/plex` |
| TV automation | Sonarr | `linuxserver/sonarr` |
| Movies | Radarr | `linuxserver/radarr` |
| Indexers (once for all *arr) | **Prowlarr** ⭐ | `linuxserver/prowlarr` |
| Torrents | **qBittorrent** ⭐ | `linuxserver/qbittorrent` |
| VPN only downloads | **Gluetun** ⭐ | `qmcgaw/gluetun` |
| Family requests | Overseerr / Jellyseerr | `linuxserver/overseerr` |
| Audiobooks / podcasts | **Audiobookshelf** ⭐ | `advplyr/audiobookshelf` |

#### Media servers

**Jellyfin ⭐** - [jellyfin.org](https://jellyfin.org/)  
Free, open source, no account. After the Plex paywall this is the usual recommendation for remote streaming. Image: `jellyfin/jellyfin`.

**Plex ⭐** - [plex.tv](https://www.plex.tv/)  
Still the smoothest clients. **Remote streaming is paid** since April 2025 (Plex Pass or Remote Watch Pass). Local on LAN stays free. New Lifetime Pass is **$749.99** (July 1, 2026); existing lifetime holders keep theirs. Image: `linuxserver/plex`.

| | Plex | Jellyfin | Emby |
| --- | --- | --- | --- |
| Remote | Paid | Free | Free / premium extras |
| Open source | No | Yes | Partial |
| Best if | Nicest apps + budget for Pass | Free remote + control | Already on Emby |

Emby image: `emby/embyserver`.

#### *arr automation and downloads

**Prowlarr ⭐** - Configure indexers once; syncs to Sonarr/Radarr. Prefer this over Jackett for new installs. `linuxserver/prowlarr`

**Sonarr ⭐** / **Radarr ⭐** - TV and movies. `linuxserver/sonarr`, `linuxserver/radarr`

**qBittorrent ⭐** - Default torrent client for *arr. Route it through Gluetun. `linuxserver/qbittorrent`

**Gluetun ⭐** - VPN client container (40+ providers). Use `network_mode: "service:gluetun"` so only downloads leave via VPN. `qmcgaw/gluetun`

**Bazarr ⭐** - Subtitles for Sonarr/Radarr. `linuxserver/bazarr`

**Overseerr ⭐** / **Jellyseerr** - Request UI for family (Plex vs Jellyfin). `linuxserver/overseerr` or `fallenbagel/jellyseerr`

**Audiobookshelf ⭐** - Audiobooks + podcasts with apps and progress sync. `advplyr/audiobookshelf`

#### Also useful (media)

| Tool | Role | Image |
| --- | --- | --- |
| SABnzbd | Usenet downloader | `linuxserver/sabnzbd` |
| FlareSolverr | Cloudflare bypass for some indexers | `ghcr.io/flaresolverr/flaresolverr` |
| Jackett | Older indexer proxy; use Prowlarr if new | `linuxserver/jackett` |
| Transmission | Lighter torrent client | `linuxserver/transmission` |
| Pinchflat | Auto-archive YouTube channels (yt-dlp) | `ghcr.io/pinchflat/pinchflat` |
| MeTube | Paste URL → download | `alexta69/metube` |

### File sharing and sync containers

Replace Dropbox/Google Drive, or just get a web UI on your disks.

#### Quick picks

| Need | Pick | Image |
| --- | --- | --- |
| Full personal cloud | **Nextcloud** ⭐ | `nextcloud` |
| Fast sync, big libraries | **Seafile** ⭐ | `seafileltd/seafile-mc` |
| P2P device sync, no "cloud" server | **Syncthing** ⭐ | `syncthing/syncthing` |
| Simple web file manager | **Filebrowser Quantum** ⭐ | `gtsteffaniak/filebrowser` |
| S3-compatible storage | **RustFS** ⭐ | `rustfs/rustfs` |

**Nextcloud ⭐** - Kitchen-sink cloud: files, calendar, contacts, office. Huge app ecosystem; can feel heavy on big libraries. `nextcloud`

**Seafile ⭐** - Usually much faster than Nextcloud. Tradeoff: proprietary block storage on disk. `seafileltd/seafile-mc`

**Syncthing ⭐** - Peer-to-peer encrypted sync, no central account. `syncthing/syncthing`

**Filebrowser Quantum ⭐** - Active fork of classic Filebrowser (original is maintenance-only). Multi-source, OIDC/2FA. New installs: use Quantum. Image: `gtsteffaniak/filebrowser`. Older notes: [Deploy Filebrowser](https://www.bitdoze.com/deploy-filebrowser-docker/).

**RustFS ⭐** - S3-compatible object storage (MinIO-style). Guide: [Self-host RustFS](https://www.bitdoze.com/rustfs-self-host/). `rustfs/rustfs`

| Also | Role | Image |
| --- | --- | --- |
| ownCloud | Classic file cloud | `owncloud/server` |
| PairDrop | AirDrop-style local share | `lscr.io/linuxserver/pairdrop` |
| SFTPGo | SFTP/WebDAV with web admin | `drakkan/sftpgo` |

| | Nextcloud | Seafile | Syncthing | Filebrowser Quantum |
| --- | --- | --- | --- | --- |
| Style | Full cloud suite | Fast sync | P2P only | Web file manager |
| Mobile apps | Yes | Yes | Yes | No |
| Best for | Features | Speed | Simplicity | Quick server browsing |

### AI applications containers

Local models need RAM (16 GB+ is realistic; a GPU helps a lot).

#### Quick picks

| Need | Pick | Image |
| --- | --- | --- |
| ChatGPT-style on your hardware | **Ollama + OpenWebUI** ⭐ | `ollama/ollama` + `ghcr.io/open-webui/open-webui:main` |
| Multi-provider chat + agents | LibreChat | `ghcr.io/danny-avila/librechat` |
| Visual LLM workflows | Flowise or Langflow | `flowiseai/flowise` / `langflowai/langflow` |
| One API for many providers | LiteLLM | `ghcr.io/berriai/litellm` |
| LLM tracing / cost visibility | Langfuse | `langfuse/langfuse` |

**Ollama + OpenWebUI ⭐** - Default local AI stack. Guide: [Ollama with Docker](https://www.bitdoze.com/ollama-docker-install/).

**Flowise ⭐** - Drag-and-drop LLM apps. [Install Flowise](https://www.bitdoze.com/flowiseai-install/).  
**Langflow** - Multi-agent / RAG builder. [Install Langflow](https://www.bitdoze.com/langflow-docker-install/).  
**LiteLLM** - OpenAI-compatible proxy over 100+ providers. [Install LiteLLM](https://www.bitdoze.com/litellm-docker-install/).  
**Langfuse** - Observability for LLM apps. [Install Langfuse](https://www.bitdoze.com/langfuse-docker-install/).

### Home automation containers

| Need | Pick | Image |
| --- | --- | --- |
| Zapier-style workflows | **n8n** ⭐ | `n8nio/n8n` |
| Smart home devices | **Home Assistant** ⭐ | `homeassistant/home-assistant` |
| Hardware / IoT flows | **Node-RED** ⭐ | `nodered/node-red` |

**n8n ⭐** - Visual automation, 400+ integrations, owns your data. Guide: [Self-host n8n](https://www.bitdoze.com/n8n-self-host-workflow-automation/).  
**Home Assistant ⭐** - Device hub + automations, local-first.  
**Node-RED ⭐** - Flow programming for sensors and APIs.

Use HA for devices, n8n for web-service glue. They work fine side by side.

### Network management containers

DNS, remote access, reverse proxy, Docker UI.

#### Quick picks

| Need | Pick | Image |
| --- | --- | --- |
| Network-wide ads | **AdGuard Home** ⭐ (or Pi-hole) | `adguard/adguardhome` / `pihole/pihole` |
| Remote access (family) | **Tailscale** ⭐ | `tailscale/tailscale` |
| Self-hosted mesh | NetBird | `netbirdio/netbird` |
| Easy reverse proxy UI | **Nginx Proxy Manager** ⭐ | `jc21/nginx-proxy-manager` |
| Simplest auto-HTTPS | **Caddy** | `caddy` |
| Label-driven proxy | Traefik | `traefik` |
| Compose UI | **Dockge** ⭐ | `louislam/dockge` |
| Phone-to-home VPN UI | **WireGuard Easy** ⭐ | `ghcr.io/wg-easy/wg-easy` |
| Public app without opening ports | Cloudflare Tunnel | `cloudflare/cloudflared` |

**DNS:** AdGuard is often easier for new installs; Pi-hole has more guides.  
**Remote:** Tailscale for most people; Headscale if you want the control plane self-hosted ([guide](https://www.bitdoze.com/headscale-self-hosted-tailscale-setup/)). NetBird when you want OSS end-to-end.  
**Proxy:** Caddy for simple Caddyfiles; NPM for click-ops; Traefik if you like Docker labels.  
**Docker UI:** Dockge for Compose ([install](https://www.bitdoze.com/dockge-install/)); Portainer is fine but compare [Portainer alternatives](https://www.bitdoze.com/portainer-alternatives/) (Komodo multi-host, etc.).

| VPN-ish tool | Job |
| --- | --- |
| Tailscale / NetBird | Mesh: *you* reach the lab |
| WireGuard Easy | Classic VPN + QR peers |
| Gluetun | *Containers* exit via commercial VPN |
| Cloudflare Tunnel | Publish one HTTP service without port forwards |

Unbound (`mvance/unbound`) pairs with Pi-hole as a recursive resolver if you want that.

### Monitoring and analytics containers

| Need | Pick | Image |
| --- | --- | --- |
| Is it up? | **Uptime Kuma** ⭐ | `louislam/uptime-kuma` |
| Live Docker logs | **Dozzle** ⭐ | `amir20/dozzle` |
| Light host metrics | **Beszel** | `henrygd/beszel` |
| Deep metrics | Netdata | `netdata/netdata` |
| Disk S.M.A.R.T. | Scrutiny | `linuxserver/scrutiny` |
| New devices on LAN | NetAlertX | see project docs |
| YAML uptime (GitOps) | Gatus | `twinproduction/gatus` |

If you only install one: **Uptime Kuma**. Add **Dozzle** when debugging. Guide: [Beszel & Uptime Kuma](https://www.bitdoze.com/beszel-uptime-kuma/).

### Notification containers

| Tool | Role | Image |
| --- | --- | --- |
| **ntfy** ⭐ | HTTP push + mobile apps | `binwiederhier/ntfy` |
| Gotify | Simple push server | `gotify/server` |
| Apprise | Fan-out to 100+ notifiers | `caronc/apprise` |

Point Uptime Kuma / *arr / scripts at ntfy and stop configuring Discord webhooks in twelve places.

### Security and privacy containers

Passwords, IPS, SSO, private search.

#### Quick picks

| Need | Pick | Image |
| --- | --- | --- |
| Password manager | **Vaultwarden** ⭐ | `vaultwarden/server` |
| Block attackers | **CrowdSec** ⭐ | `crowdsecurity/crowdsec` |
| Simple passkey SSO | **Pocket ID** ⭐ | `pocket-id/pocket-id` |
| Lightweight SSO + 2FA | Authelia | `authelia/authelia` |
| Full IdP (LDAP/SAML) | Authentik | `ghcr.io/goauthentik/server` |
| Private search | **SearXNG** ⭐ | `searxng/searxng` |

**Vaultwarden ⭐** - Bitwarden-compatible, much lighter than official server.  
**CrowdSec ⭐** - Prefer over Fail2Ban for new installs (shared threat intel). Fail2Ban still works: `crazymax/fail2ban`.  
**SSO ladder:** Pocket ID (passkeys only) → Authelia (YAML) → Authentik (heavy).  
**SearXNG ⭐** - Metasearch without tracking. Guide: [Self-host SearXNG](https://www.bitdoze.com/searxng-self-host-privacy-search/).

WireGuard image `linuxserver/wireguard` if you want raw peers; prefer [WireGuard Easy](#network-management-containers) for a UI. OpenVPN: `kylemanna/openvpn` (legacy setups).

### Productivity containers

| Need | Pick | Image |
| --- | --- | --- |
| Wiki | Bookstack or Docmost | `linuxserver/bookstack` / `docmost/docmost` |
| Notes (clients + E2E) | Joplin server | `joplin/server` |
| Light timeline notes | Memos | `neosmemo/memos` |
| Recipes | **Mealie** ⭐ | `ghcr.io/mealie-recipes/mealie` |
| Bookmarks + archive | **Karakeep** ⭐ | `karakeep-app/karakeep` |
| Minimal bookmarks | Linkding | `sissbruecker/linkding` |
| PDF toolkit | **Stirling PDF** ⭐ | `frooodle/s-pdf` |
| Dev Swiss-army tools | IT-Tools | `corentinth/it-tools` |
| Newsletter | Notifuse | see [guide](https://www.bitdoze.com/notifuse-self-host-newsletter/) |
| E-signatures | Documenso | `documenso/documenso` |
| Home inventory | Homebox | `ghcr.io/sysadminsmedia/homebox` |
| Kanban | Kanboard / Wekan | `kanboard/kanboard` / `wekanteam/wekan` |

**Stirling PDF ⭐** - Merge, OCR, compress, etc. [Self-host Stirling PDF](https://www.bitdoze.com/stirling-pdf-self-host-manipulation/).  
**Mealie ⭐** - Import recipes from URLs, meal plans, shopping lists. Tandoor is the nutrition-focused alternative (`vabene1111/recipes`).  
**Karakeep ⭐** (ex-Hoarder) - Bookmark + full-page archive + AI tags.  
**Docmost** - Collaborative knowledge base. [Install Docmost](https://www.bitdoze.com/docmost-docker-install/).

### Development containers

Git, browser IDE, PaaS panels, auto-updates.

| Need | Pick | Image / notes |
| --- | --- | --- |
| Self-hosted PaaS | **Coolify** ⭐ or **Dokploy** ⭐ | Coolify install script / `dokploy/dokploy` |
| Git hosting | Gitea or Forgejo | `gitea/gitea` / `codeberg.org/forgejo/forgejo` |
| VS Code in browser | Code-Server | `linuxserver/code-server` |
| Auto-update images | Watchtower | `containrrr/watchtower` |
| Classic CI | Jenkins | `jenkins/jenkins` |

**Coolify ⭐** - Full panel, many one-click apps. [Install](https://www.bitdoze.com/coolify-install-heroku-alternative/) · [v5 review](https://www.bitdoze.com/coolify-v5-self-hosted-paas-review/) · [vs Dokploy](https://www.bitdoze.com/coolify-vs-dokploy-vs-kamal-2/).  
**Dokploy ⭐** - Compose-friendly PaaS. [Install Dokploy](https://www.bitdoze.com/dokploy-install/).  
**Watchtower** - Auto-updates; exclude databases and pin critical tags.

### Database containers

| DB | Use when | Image |
| --- | --- | --- |
| **PostgreSQL** ⭐ | Most modern apps | `postgres` |
| **MariaDB** ⭐ | MySQL-compatible apps | `mariadb` |
| **Valkey** ⭐ | Redis-compatible cache (open-source default post-license change) | `valkey/valkey` |

### Backup and recovery containers

| Need | Pick | Image |
| --- | --- | --- |
| Restic with web UI | **Backrest** ⭐ | `garethgeorge/backrest` |
| Fast encrypted backup + UI | **Kopia** ⭐ | `kopia/kopia` |
| Simple multi-cloud UI | Duplicati | `linuxserver/duplicati` |
| CLI power user | Restic | `restic/restic` |

Back up volumes and compose files. Test a restore once.

### Personal finance containers

| Need | Pick | Image |
| --- | --- | --- |
| Envelope budgeting (YNAB-style) | **Actual Budget** ⭐ | `actualbudget/actual-server` |
| Full double-entry books | **Firefly III** ⭐ | `fireflyiii/core` |
| Subscription tracker | Wallos | `ellite/wallos` |

GnuCash / HomeBank exist as desktop-oriented options if you prefer that style.

### Photography and image management containers

| Need | Pick | Image |
| --- | --- | --- |
| Google Photos replacement | **Immich** ⭐ | `ghcr.io/immich-app/immich-server` |
| AI photo library (alternative) | PhotoPrism | `photoprism/photoprism` |

**Immich ⭐** is the usual choice now: mobile backup, faces, map, active releases. Follow upstream compose carefully when upgrading.

### E-book management containers

| Tool | Role | Image |
| --- | --- | --- |
| Calibre-web | E-book library web UI | `linuxserver/calibre-web` |
| Komga | Comics / manga | `gotson/komga` |
| Kavita | Multi-format reading server | `jvmilazz0/kavita` |

### Self-hosted database solutions (Airtable alternatives)

| Tool | Role | Image |
| --- | --- | --- |
| **NocoDB** ⭐ | Spreadsheet UI on SQL | `nocodb/nocodb` |
| **Baserow** ⭐ | Airtable-like | `baserow/baserow` |
| **Grist** ⭐ | Spreadsheet + Python formulas | `gristlabs/grist` |
| Teable | Fast real-time grid | `teableio/teable` |

More: [Self-hosted Airtable alternatives](https://www.bitdoze.com/self-hosted-airtable-alternatives/).

### Personal dashboard containers

| Tool | Style | Image |
| --- | --- | --- |
| **Homepage** ⭐ | Widget-heavy, Docker labels | `ghcr.io/gethomepage/homepage` |
| **Glance** ⭐ | Minimal, clean YAML | `glanceapp/glance` |
| Heimdall | Tile launcher | `linuxserver/heimdall` |
| Homer | Static links, tiny | `b4bz/homer` |
| Organizr | Tabbed media shell | `organizr/organizr` |

### Specialty tools

Less common but useful niches. Skim the tables; expand only what you need.

#### Remote desktop, location, analytics

| Tool | Role | Image |
| --- | --- | --- |
| **RustDesk** ⭐ | TeamViewer alternative (self-host relay) | `rustdesk/rustdesk-server` |
| **Dawarich** ⭐ | Google Timeline replacement | `freika/dawarich` |
| **Matomo** ⭐ | Self-hosted web analytics | `matomo` |
| GoAccess | Access-log analyzer | `allinurl/goaccess` |
| Metabase | BI dashboards over DBs | `metabase/metabase` |
| Postiz | Social media scheduling | check Postiz docs |

RustDesk is interactive desktop control. Tailscale only gets you on the network.

#### Documents, web hosting, RSS, games, chat

| Tool | Role | Image |
| --- | --- | --- |
| **Paperless-ngx** ⭐ | Document OCR archive | `ghcr.io/paperless-ngx/paperless-ngx` |
| WordPress | Full CMS | `wordpress` |
| Ghost | Publishing / newsletters | `ghost` |
| FreshRSS / Miniflux | RSS readers | `linuxserver/freshrss` / `miniflux/miniflux` |
| Minecraft / Valheim | Game servers | `itzg/minecraft-server` / `lloesche/valheim-server` |
| Pterodactyl | Multi-game panel | `ghcr.io/pterodactyl/panel` |
| Mattermost | Slack-like chat | `mattermost/mattermost-team-edition` |
| Jitsi Meet | Video calls | `jitsi/web` |
| Matrix Synapse | Federated chat homeserver | `matrixdotorg/synapse` |
| Rocket.Chat | Team chat | `rocket.chat` |

#### Time, weather, VoIP, passwords (extra)

| Tool | Role | Image |
| --- | --- | --- |
| Kimai / TimeTagger | Time tracking | `kimai/kimai2` / `almarklein/timetagger` |
| Weewx | Weather station software | `felddy/weewx` |
| FreePBX / Asterisk | VoIP | `tiredofit/freepbx` / `andrius/asterisk` |
| Passbolt | Team password manager | `passbolt/passbolt` |

Vaultwarden (above) is still the default personal password pick.

<Accordion label="Best practices and troubleshooting (expand when something breaks)" group="ops">

**Organization**
- Name stacks clearly (`media-sonarr`, not `app2`)
- One compose stack per concern
- Shared networks per group; compose files in Git

**Resources**
- Memory limits on Immich, Nextcloud, DBs, LLMs
- Hardware encode for media when you can
- `docker stats` after adding services

**Security**
- Trusted images only; be careful with the Docker socket
- Secrets: [Compose secrets](https://www.bitdoze.com/docker-compose-secrets/), not committed passwords
- Reverse proxy + SSO before anything public
- CrowdSec (or Fail2Ban) on the edge

**Updates**
- Watchtower only for low-risk apps; pin DB tags
- Scheduled backups (Backrest / Kopia / Duplicati) and one test restore
- Dozzle + Uptime Kuma for overnight deaths

**Quick fixes**
- Ports: `docker ps` · Networks: `docker network ls`
- Conflicts: rename containers, fix bind mounts
- RAM: `docker stats`, then limits or more hardware

</Accordion>

## Conclusions

### Cheat sheet

| Area | Default pick |
| --- | --- |
| Media | Jellyfin + Prowlarr + Sonarr/Radarr + qBittorrent (+ Gluetun) |
| Files | Nextcloud or Seafile + Filebrowser Quantum |
| DNS / remote | AdGuard + Tailscale |
| Proxy | Caddy or Nginx Proxy Manager |
| Docker UI | Dockge ([Portainer alternatives](https://www.bitdoze.com/portainer-alternatives/)) |
| Ops | Uptime Kuma + Dozzle + Beszel |
| Security | Vaultwarden + CrowdSec + Pocket ID/Authelia |
| PaaS | Coolify or Dokploy |
| Backup | Backrest or Kopia |
| Photos | Immich |
| Budget | Actual Budget or Firefly III |

### What's changed in 2026

- **Plex remote streaming is paywalled** (since April 2025). New Lifetime Pass is **$749.99** (July 1, 2026). Local free; many moved to Jellyfin.
- **Coolify** and **Dokploy** are the main self-hosted PaaS options.
- **Filebrowser Quantum** replaced the maintenance-only original.
- **Pocket ID**, **Gluetun**, **Dozzle**, **Karakeep**, **Dawarich**, **Actual Budget** are common new defaults.
- Immich for photos, Valkey instead of Redis, Tailscale for family access still hold.

### Getting started

1. Starter stack above (Dockge → DNS → dashboard → files → media)
2. Uptime Kuma + Dozzle
3. Vaultwarden + Tailscale
4. Backups before the data matters

Don't install 125 containers on day one. Pick one goal from the table at the top, finish that stack, then expand. More apps: [toolhunt.net self-hosted](https://toolhunt.net/sh/). For AI-specific GitHub projects (Ollama, OpenClaw, n8n, Langfuse, and friends), see [top AI GitHub repos](/top-ai-github-repos/).