---
title: "Los Mejores 125+ Contenedores Docker para un Home Server en 2026"
description: "Los mejores 125+ contenedores Docker para un home server en 2026: medios, archivos, VPN, IA, monitorización, PaaS y más. Stack inicial, elecciones rápidas y datos de versiones actuales."
date: 2026-10-14
categories: ["self-hosting"]
tags: ["docker","self-hosted","homelab"]
---

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

[Docker](https://www.docker.com/) empaqueta una app con su runtime para que corra igual en un mini PC, un VPS o un rack — por eso se convirtió en la forma por defecto de distribuir apps de home server en 2026. Esta página es un catálogo de los **mejores contenedores Docker para un home server** en 2026, no una checklist de "instálalo todo". Si aún estás sopesando si merece la pena una máquina en casa, empieza por [por qué necesitas un home server en 2026](/why-need-home-server/).

## Cómo usar esta página

1. **Elige un objetivo** en la tabla de abajo (medios, archivos, plano de control del lab, …).
2. **Instala el stack inicial corto** si eres nuevo.
3. **Abre una categoría** que te interese. Cada sección empieza con una **tabla de elecciones rápidas**, luego notas cortas sobre las herramientas importantes.
4. Salta el resto hasta que lo necesites.

Datos de versiones comprobados en **octubre de 2026** (feeds de releases actualizados el 14 de octubre de 2026). Donde un proyecto murió o quedó archivado este año, la sección lo dice en vez de listar silenciosamente un zombi.

<Notice type="info" title="No instales 125 contenedores">
Corre de 8 a 15 que encajen con lo que usas. Un lab silencioso supera a uno ruidoso.
</Notice>

### Elige un objetivo

| Quiero… | Ve aquí | Primeras elecciones típicas |
| --- | --- | --- |
| Streaming de medios gratis + descargas | [Medios](#contenedores-de-gestión-de-medios) | Jellyfin, Prowlarr, Sonarr/Radarr, qBittorrent, Gluetun |
| Reemplazo de Google Photos | [Fotografía](#contenedores-de-fotografía-y-gestión-de-imágenes) | Immich |
| Reemplazo de Dropbox / Google Drive | [Archivos](#contenedores-de-archivos-y-sincronización) | Nextcloud o Seafile, Filebrowser Quantum |
| Bloqueo de anuncios + acceso remoto | [Red](#contenedores-de-gestión-de-red) | AdGuard o Pi-hole, Tailscale, Caddy |
| Saber cuándo se rompen cosas | [Monitorización](#contenedores-de-monitorización-y-analítica) | Uptime Kuma, Dozzle, Beszel |
| Desplegar apps como Vercel en casa | [Desarrollo](#contenedores-de-desarrollo) | Coolify o Dokploy |
| Contraseñas + SSO simple | [Seguridad](#contenedores-de-seguridad-y-privacidad) | Vaultwarden, Pocket ID o Authelia |
| Chat IA local | [IA](#contenedores-de-aplicaciones-ia) | Ollama + OpenWebUI |
| Presupuesto / recetas / marcadores | [Productividad](#contenedores-de-productividad), [Finanzas](#contenedores-de-finanzas-personales) | Mealie, Actual Budget, Karakeep |

¿Lo ejecutas para un negocio en vez de una casa? Las cuentas de casos de uso son distintas (SSO, backups, radio de explosión). Mira [contenedores Docker para empresas](/docker-containers-business/).

### Qué ha cambiado en 2026 (corto)

- **El streaming remoto de Plex necesita un pase de pago** (en local sigue siendo gratis). El precio del Lifetime Pass para compradores nuevos volvió a subir en julio de 2026 (mira plex.tv para la cifra actual). Si no quieres pagar, **Jellyfin** es el cambio.
- **Filebrowser Quantum** es el fork activo del gestor de archivos (el original está solo en mantenimiento).
- **Watchtower (`containrrr`) está archivado** (diciembre de 2025). Usa el fork mantenido y migra si sigues en la imagen vieja.
- **El Overseerr original está archivado** (2026). **Jellyseerr** es ahora la UI de peticiones tanto para Plex como para Jellyfin.
- **Coolify / Dokploy**, **Gluetun**, **Dozzle** y **Pocket ID** son ya defaults habituales.

Más detalle en [Qué ha cambiado en 2026](#qué-ha-cambiado-en-2026) al final.

### ¿Aún sin hardware?

Los contenedores de abajo corren bien en casi cualquier cosa, pero si estás construyendo una máquina desde cero estas piezas cubren las necesidades habituales de un homelab:

| Pieza | Elección | Por qué |
| --- | --- | --- |
| Mini PC | [GMKtec N150](/go/gmktec-n150/) | ~$130, 16GB RAM, 2.5GbE, 10-25W en reposo. Corre un stack inicial por calderilla |
| Mini PC (de marca) | [ASUS ExpertCenter DC510 mini PC](https://go.bitdoze.com/asus-dc510) | Máquina compacta de marca si quieres garantía estándar y canal de soporte |
| NAS | [UGREEN NASync DXP4800 Plus](/go/ugreen-dxp4800-plus/) | 4 bahías + 2 NVMe, 10GbE, Pentium 8505. Docker y VMs a bordo |
| SAI | [CyberPower CP1500PFCLCD](/go/cyberpower-cp1500pfclcd/) | Onda sinusoidal pura, 1500VA/1000W. Una caída de tensión no corromperá tus volúmenes |

<Notice type="warning" title="Divulgación de afiliados">
Este artículo contiene enlaces de afiliados. Si compras a través de ellos, puedo ganar una comisión sin coste extra para ti.
</Notice>

Para más opciones, mira la guía de [mejores mini PCs para un home server](/best-mini-pc-home-server/). ¿Centrado en almacenamiento? Mira los [mejores NAS para homelabs con Docker y Proxmox](/best-nas-homelab-docker-proxmox/).

¿No quieres hardware en casa? Los mismos archivos compose corren en un [VPS de Hetzner Cloud](https://go.bitdoze.com/hetzner). Una máquina de 2 vCPU / 4 GB cubre el stack inicial. Las piezas pesadas son el transcoding e Immich, no el dashboard.

---

## Stack inicial (haz esto primero)

Este stack inicial es el conjunto de **contenedores Docker esenciales** que la mayoría de home servers necesitan. Si empiezas desde cero, este conjunto cubre streaming, descargas, archivos, dashboard, DNS, gestión y monitorización básica.

| # | Contenedor | Rol | Por qué | Detalles |
| --- | --- | --- | --- | --- |
| 1 | Dockge | Gestionar stacks Compose | Más fácil que la CLI a pelo | [Red](#contenedores-de-gestión-de-red) |
| 2 | AdGuard Home o Pi-hole | DNS + anuncios | Toda la red: [bloquea anuncios y malware con AdGuard Home](/block-ads-malware-dns-protection/) | [Red](#contenedores-de-gestión-de-red) |
| 3 | Homepage o Glance | Dashboard | Una URL para todo | [Dashboards](#contenedores-de-dashboards-personales) |
| 4 | Filebrowser Quantum | Archivos web | Subida rápida sin cloud completa | [Archivos](#contenedores-de-archivos-y-sincronización) |
| 5 | Jellyfin | Medios | Remoto gratis; sin impuesto Plex | [Medios](#contenedores-de-gestión-de-medios) |
| 6 | qBittorrent + Gluetun opcional | Descargas | VPN solo para el descargador | [Medios](#contenedores-de-gestión-de-medios) |
| 7 | CrowdSec | IPS | Bloquea atacantes ruidosos | [Seguridad](#contenedores-de-seguridad-y-privacidad) |
| 8 | Uptime Kuma + Dozzle + Beszel | Ops | ¿Arriba? ¿Por qué caído? ¿Logs? | [Monitorización](#contenedores-de-monitorización-y-analítica) |

**Orden que funciona:** Dockge → DNS → dashboard → archivos → medios → descargas → CrowdSec → monitorización.

**Hábito de verificación:** tras cada stack, `docker compose ps` debería mostrar el servicio `Up`, y añades una comprobación en Uptime Kuma. Si no está verde ahí, el stack no está terminado. Un servicio que solo funciona en la shell de tu portátil no está corriendo.

### Ejemplo mínimo de compose

Tres servicios para coger memoria muscular de Docker. Añade el resto como stacks separados en 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>IP estática (o reserva DHCP) en el servidor</li>
<li>Archivos compose + muestras de env en Git</li>
<li>Datos en SSD; las librerías de medios pueden vivir en HDDs</li>
<li>Ningún puerto público sin reverse proxy + auth</li>
<li>Tras cada stack: `docker compose ps` en verde + una comprobación en Uptime Kuma</li>
</ul>
</ListCheck>

<Accordion label="Hardware, SO e instalación de Docker (expande si lo necesitas)" group="setup">

**Hardware (guía aproximada)**

| Componente | Mínimo | Cómodo | Pesado (4K + IA) |
| --- | --- | --- | --- |
| CPU | Quad-core 2.0 GHz | Quad-core 2.5 GHz+ | 6+ núcleos, Quick Sync / GPU |
| RAM | 8 GB | 16 a 32 GB | 64 GB+ |
| Almacenamiento | 128 GB SSD | 512 GB NVMe + HDD | 1 TB NVMe + multi-HDD |
| Red | 1 GbE | 2.5 GbE | 10 GbE |

El transcoding e Immich/Nextcloud son los devoradores habituales de RAM/CPU. Elecciones de mini PC: [Best mini PC for home servers](https://www.bitdoze.com/best-mini-pc-home-server/).

**Opciones de SO:** Ubuntu Server o Debian para Docker a pelo; Unraid / TrueNAS Scale si el punto es el almacenamiento; [Proxmox](/best-mini-pc-proxmox/) si quieres VMs + contenedores.

**Instala Docker (estilo Debian/Ubuntu):**

```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 es el plugin `docker compose` (no hace falta binario `docker-compose` separado). La clave `version:` de nivel superior en archivos compose ahora es opcional.

Más notas de ops: [Monitor server and Docker resources](https://www.bitdoze.com/sever-monitoring/). Más apps: [toolhunt.net self-hosted](https://toolhunt.net/sh/).

</Accordion>

---

## Catálogo completo

Las **mejores apps self-hosted** en cada categoría, con elecciones rápidas primero. Usa la tabla de salto, luego ojea las **elecciones rápidas** de cada sección antes de los textos.

| Categoría | Empieza aquí | Ver también |
| --- | --- | --- |
| [Medios](#contenedores-de-gestión-de-medios) | Jellyfin, *arr, qBittorrent, Gluetun | Audiobookshelf, Jellyseerr, Navidrome |
| [Archivos](#contenedores-de-archivos-y-sincronización) | Nextcloud / Seafile, Filebrowser Quantum | Syncthing, RustFS |
| [IA](#contenedores-de-aplicaciones-ia) | Ollama + OpenWebUI | LiteLLM, Flowise |
| [Domótica](#contenedores-de-domótica) | n8n, Home Assistant | Node-RED |
| [Red](#contenedores-de-gestión-de-red) | AdGuard, Tailscale, Caddy, Dockge | Traefik, Komodo, WireGuard Easy |
| [Monitorización](#contenedores-de-monitorización-y-analítica) | Uptime Kuma, Dozzle, Beszel | Scrutiny, Netdata |
| [Notificaciones](#contenedores-de-notificaciones) | ntfy | Gotify, Apprise |
| [Seguridad](#contenedores-de-seguridad-y-privacidad) | Vaultwarden, CrowdSec, Pocket ID | Authelia, Authentik |
| [Productividad](#contenedores-de-productividad) | Stirling PDF, Mealie, Bookstack | Karakeep, Memos |
| [Desarrollo](#contenedores-de-desarrollo) | Coolify o Dokploy, Gitea | Watchtower (fork), Code-Server |
| [Backup](#contenedores-de-backup-y-recuperación) | Backrest o Kopia | Duplicati, Restic |
| [Finanzas](#contenedores-de-finanzas-personales) | Actual Budget o Firefly III | Wallos |
| [Fotos](#contenedores-de-fotografía-y-gestión-de-imágenes) | Immich | PhotoPrism |
| [Dashboards](#contenedores-de-dashboards-personales) | Homepage o Glance | Homer |
| [Bases de datos](#contenedores-de-bases-de-datos) | PostgreSQL, Valkey | MariaDB |
| [Estilo Airtable](#soluciones-self-hosted-de-bases-de-datos-alternativas-a-airtable) | NocoDB o Grist | Baserow |
| [Especializadas](#herramientas-especializadas) | RSS, juegos, chat, VoIP, analítica | RustDesk, Dawarich, Matomo |

### Contenedores de gestión de medios

Haz streaming de tu propia librería. La mayoría empieza aquí.

**Cómo encaja el stack**

![Flujo del stack de medios Docker: Prowlarr alimenta a Sonarr y Radarr, que pasan releases a qBittorrent detrás de Gluetun o SABnzbd; los medios descargados aterrizan en Jellyfin o Plex, con subtítulos de Bazarr, peticiones de Jellyseerr, Audiobookshelf y Navidrome alrededor del reproductor](@assets/images/24/07/docker-media-stack-flow.svg)

#### Elecciones rápidas

| Necesidad | Elección | Imagen |
| --- | --- | --- |
| Servidor de medios gratis | **Jellyfin** ⭐ | `jellyfin/jellyfin` |
| Apps pulidas, pagará por remoto | Plex | `linuxserver/plex` |
| Automatización de TV | Sonarr | `linuxserver/sonarr` |
| Películas | Radarr | `linuxserver/radarr` |
| Indexadores (una vez para todos los *arr) | **Prowlarr** ⭐ | `linuxserver/prowlarr` |
| Torrents | **qBittorrent** ⭐ | `linuxserver/qbittorrent` |
| VPN solo para descargas | **Gluetun** ⭐ | `qmcgaw/gluetun` |
| Peticiones de la familia | **Jellyseerr** ⭐ | `fallenbagel/jellyseerr` (Overseerr archivado en 2026) |
| Audiolibros / podcasts | **Audiobookshelf** ⭐ | `advplyr/audiobookshelf` |
| Streaming de música (apps Subsonic) | **Navidrome** ⭐ | `deluan/navidrome` |

#### Servidores de medios

**Jellyfin ⭐** - [jellyfin.org](https://jellyfin.org/)
Gratis, open source, sin cuenta. Tras el paywall de Plex esta es la recomendación habitual para streaming remoto. Imagen: `jellyfin/jellyfin`. Guía: [self-host Jellyfin](/self-host-jellyfin/).

**Plex ⭐** - [plex.tv](https://www.plex.tv/)
Sigue teniendo los clientes más pulidos. **El streaming remoto es de pago** desde abril de 2025 (Plex Pass o Remote Watch Pass). En local en la LAN sigue gratis. El Lifetime Pass para compradores nuevos volvió a subir en julio de 2026 (mira plex.tv para el precio actual); los que ya tienen lifetime conservan el suyo. Imagen: `linuxserver/plex`.

| | Plex | Jellyfin | Emby |
| --- | --- | --- | --- |
| Remoto | De pago | Gratis | Gratis / extras premium |
| Open source | No | Sí | Parcial |
| Mejor si | Las apps más bonitas + presupuesto para el Pass | Remoto gratis + control | Ya estás en Emby |

Imagen de Emby: `emby/embyserver`.

#### Automatización *arr y descargas

**Prowlarr ⭐** - Configura los indexadores una vez; sincroniza con Sonarr/Radarr. Prefiere esto sobre Jackett para instalaciones nuevas. `linuxserver/prowlarr`

**Sonarr ⭐** / **Radarr ⭐** - TV y películas. `linuxserver/sonarr`, `linuxserver/radarr`

**qBittorrent ⭐** - Cliente torrent por defecto para *arr. Enrótalo a través de Gluetun. `linuxserver/qbittorrent`

**Gluetun ⭐** - Contenedor cliente VPN (40+ proveedores). Usa `network_mode: "service:gluetun"` para que solo las descargas salgan por VPN. `qmcgaw/gluetun` (el repo se movió a la org passteque; el nombre de imagen en Docker Hub no cambia)

**Bazarr ⭐** - Subtítulos para Sonarr/Radarr. `linuxserver/bazarr`

**Jellyseerr ⭐** - UI de peticiones para la familia. Este es el default para **tanto Plex como Jellyfin**: el Overseerr original (`sct/overseerr`) quedó archivado en 2026 y la imagen `linuxserver/overseerr` lleva rancia desde febrero de 2026. Las instalaciones nuevas deberían usar Jellyseerr, y los montajes existentes de Overseerr deberían planear una migración. Imagen: `fallenbagel/jellyseerr`.

**Audiobookshelf ⭐** - Audiolibros + podcasts con apps y sincronización de progreso. `advplyr/audiobookshelf`

**Navidrome ⭐** - Servidor de música compatible con Subsonic. Ligero en recursos, funciona con las apps móviles Subsonic habituales, y es la mitad que faltaba de un montaje de medios self-hosted si tu librería es principalmente música. Imagen: `deluan/navidrome`.

#### También útiles (medios)

| Herramienta | Rol | Imagen |
| --- | --- | --- |
| SABnzbd | Descargador Usenet | `linuxserver/sabnzbd` |
| FlareSolverr | Bypass de Cloudflare para algunos indexadores | `ghcr.io/flaresolverr/flaresolverr` |
| Jackett | Proxy de indexadores más viejo; usa Prowlarr si es nuevo | `linuxserver/jackett` |
| Transmission | Cliente torrent más ligero | `linuxserver/transmission` |
| Pinchflat | Auto-archivar canales de YouTube (yt-dlp) | `ghcr.io/pinchflat/pinchflat` |
| MeTube | Pega URL → descarga | `alexta69/metube` |

### Contenedores de archivos y sincronización

Reemplaza Dropbox/Google Drive, o simplemente pon una UI web sobre tus discos.

#### Elecciones rápidas

| Necesidad | Elección | Imagen |
| --- | --- | --- |
| Cloud personal completa | **Nextcloud** ⭐ | `nextcloud` |
| Sync rápido, librerías grandes | **Seafile** ⭐ | `seafileltd/seafile-mc` |
| Sync P2P entre dispositivos, sin servidor "cloud" | **Syncthing** ⭐ | `syncthing/syncthing` |
| Gestor de archivos web simple | **Filebrowser Quantum** ⭐ | `gtsteffaniak/filebrowser` |
| Almacenamiento compatible con S3 | **RustFS** ⭐ | `rustfs/rustfs` |

**Nextcloud ⭐** - Cloud de todo incluido: archivos, calendario, contactos, oficina. Enorme ecosistema de apps; puede sentirse pesado en librerías grandes. `nextcloud`

**Seafile ⭐** - Normalmente mucho más rápido que Nextcloud. Compromiso: almacenamiento de bloques propietario en disco. `seafileltd/seafile-mc`

**Syncthing ⭐** - Sync cifrado peer-to-peer, sin cuenta central. El estable actual es v2.x (una reescritura mayor: config SQLite, mejor rendimiento); el nombre de la imagen no cambia, pero las guías anteriores a 2025 que describen el viejo layout de config están desactualizadas. `syncthing/syncthing`

**Filebrowser Quantum ⭐** - Fork activo del Filebrowser clásico (el original está solo en mantenimiento). Multi-fuente, OIDC/2FA, ya en estable 2.x. Instalaciones nuevas: usa Quantum. Imagen: `gtsteffaniak/filebrowser`. Notas más viejas: [Deploy Filebrowser](https://www.bitdoze.com/deploy-filebrowser-docker/).

**RustFS ⭐** - Almacenamiento de objetos compatible con S3 (estilo MinIO). Guía: [Self-host RustFS](https://www.bitdoze.com/rustfs-self-host/). `rustfs/rustfs`

| También | Rol | Imagen |
| --- | --- | --- |
| ownCloud | Cloud de archivos clásica | `owncloud/server` |
| PairDrop | Compartir local estilo AirDrop | `lscr.io/linuxserver/pairdrop` |
| SFTPGo | SFTP/WebDAV con admin web | `drakkan/sftpgo` |

| | Nextcloud | Seafile | Syncthing | Filebrowser Quantum |
| --- | --- | --- | --- | --- |
| Estilo | Suite cloud completa | Sync rápido | Solo P2P | Gestor de archivos web |
| Apps móviles | Sí | Sí | Sí | No |
| Mejor para | Funciones | Velocidad | Simplicidad | Navegación rápida del servidor |

### Contenedores de aplicaciones IA

Los modelos locales necesitan RAM (16 GB+ es realista; una GPU ayuda mucho). Si estás comprando hardware para esto, mira el [mejor mini PC para LLMs locales](/best-mini-pc-local-llm/).

#### Elecciones rápidas

| Necesidad | Elección | Imagen |
| --- | --- | --- |
| Estilo ChatGPT en tu hardware | **Ollama + OpenWebUI** ⭐ | `ollama/ollama` + `ghcr.io/open-webui/open-webui:main` |
| Chat multi-proveedor + agentes | LibreChat | `ghcr.io/danny-avila/librechat` |
| Flujos visuales de LLM | Flowise o Langflow | `flowiseai/flowise` / `langflowai/langflow` |
| Una API para muchos proveedores | LiteLLM | `ghcr.io/berriai/litellm` |
| Trazado de LLM / visibilidad de costes | Langfuse | `langfuse/langfuse` |

**Ollama + OpenWebUI ⭐** - Stack de IA local por defecto. Guía: [Ollama with Docker](https://www.bitdoze.com/ollama-docker-install/).

**Flowise ⭐** - Apps LLM de arrastrar y soltar. [Install Flowise](https://www.bitdoze.com/flowiseai-install/).
**Langflow** - Constructor multi-agente / RAG. [Install Langflow](https://www.bitdoze.com/langflow-docker-install/).
**LiteLLM** - Proxy compatible con OpenAI sobre más de 100 proveedores. [Install LiteLLM](https://www.bitdoze.com/litellm-docker-install/).
**Langfuse** - Observabilidad para apps LLM. [Install Langfuse](https://www.bitdoze.com/langfuse-docker-install/).

### Contenedores de domótica

| Necesidad | Elección | Imagen |
| --- | --- | --- |
| Flujos estilo Zapier | **n8n** ⭐ | `n8nio/n8n` |
| Dispositivos de hogar inteligente | **Home Assistant** ⭐ | `homeassistant/home-assistant` |
| Flujos hardware / IoT | **Node-RED** ⭐ | `nodered/node-red` |

**n8n ⭐** - Automatización visual, cientos de integraciones, tus datos son tuyos. Guía: [Self-host n8n](https://www.bitdoze.com/n8n-self-host-workflow-automation/).
**Home Assistant ⭐** - Hub de dispositivos + automatizaciones, local-first.
**Node-RED ⭐** - Programación por flujos para sensores y APIs.

Usa HA para dispositivos, n8n para pegamento de servicios web. Funcionan bien lado a lado.

### Contenedores de gestión de red

DNS, acceso remoto, reverse proxy, UI de Docker.

#### Elecciones rápidas

| Necesidad | Elección | Imagen |
| --- | --- | --- |
| Anuncios en toda la red | **AdGuard Home** ⭐ (o Pi-hole) | `adguard/adguardhome` / `pihole/pihole` |
| Acceso remoto (familia) | **Tailscale** ⭐ | `tailscale/tailscale` |
| Mesh self-hosted | NetBird | `netbirdio/netbird` |
| UI fácil de reverse proxy | **Nginx Proxy Manager** ⭐ | `jc21/nginx-proxy-manager` |
| Auto-HTTPS más simple | **Caddy** | `caddy` |
| Proxy dirigido por labels | Traefik | `traefik` |
| UI de Compose | **Dockge** ⭐ | `louislam/dockge` |
| UI de VPN del teléfono a casa | **WireGuard Easy** ⭐ | `ghcr.io/wg-easy/wg-easy` |
| App pública sin abrir puertos | Cloudflare Tunnel | `cloudflare/cloudflared` |
| App pública sin puertos, self-hosted | **Pangolin** ⭐ | ver docs de `fosrl/pangolin` |

**DNS:** AdGuard suele ser más fácil para instalaciones nuevas; Pi-hole tiene más guías. Prefiere un [firewall DNS en la nube como NextDNS](https://go.bitdoze.com/nextdns) si prefieres externalizar el filtrado por completo. Una precaución: Pi-hole v6 (desde febrero de 2025) dejó el viejo montaje de lighttpd. La mayoría de guías de Pi-hole anteriores a 2025 están desactualizadas.
**Remoto:** Tailscale para la mayoría; Headscale si quieres el plano de control self-hosted ([guía](https://www.bitdoze.com/headscale-self-hosted-tailscale-setup/)). NetBird cuando quieres OSS de extremo a extremo. Lado a lado: [NetBird vs Headscale vs Tailscale](/netbird-vs-headscale-vs-tailscale/).
**Proxy:** Caddy para Caddyfiles simples; NPM para click-ops; Traefik si te gustan los Docker labels ([Traefik reverse proxy en Docker](/traefik-proxy-docker/)).
**UI de Docker:** Dockge para Compose ([instalación](https://www.bitdoze.com/dockge-install/)); Portainer está bien pero compara [alternativas a Portainer](https://www.bitdoze.com/portainer-alternatives/) (Komodo multi-host, etc.). El desarrollo de Dockge es lento; Komodo es la elección activa si quieres gestión multi-host.

| Herramienta tipo VPN | Trabajo |
| --- | --- |
| Tailscale / NetBird | Mesh: *tú* llegas al lab |
| WireGuard Easy | VPN clásica + peers por QR |
| Gluetun | *Contenedores* salen por VPN comercial |
| Cloudflare Tunnel | Publica un servicio HTTP sin port forwards |
| Pangolin | Misma idea, self-hosted (túnel + acceso consciente de identidad) |

**Pangolin ⭐** - Reverse proxy tunelizado self-hosted con acceso consciente de identidad. La elección habitual cuando quieres publicación estilo Cloudflare Tunnel sin entregar el tráfico a un tercero. Guía de despliegue: [Pangolin: alternativa self-hosted a Cloudflare Tunnels](/pangolin-cloudflare-tunnels-alternative/).

Unbound (`mvance/unbound`) se empareja con Pi-hole como resolvedor recursivo si quieres eso.

### Contenedores de monitorización y analítica

| Necesidad | Elección | Imagen |
| --- | --- | --- |
| ¿Está arriba? | **Uptime Kuma** ⭐ | `louislam/uptime-kuma` |
| Logs de Docker en vivo | **Dozzle** ⭐ | `amir20/dozzle` |
| Métricas ligeras del host | **Beszel** | `henrygd/beszel` |
| Métricas profundas | Netdata | `netdata/netdata` |
| S.M.A.R.T. de discos | Scrutiny | `linuxserver/scrutiny` |
| Nuevos dispositivos en la LAN | NetAlertX | ver docs del proyecto |
| Uptime en YAML (GitOps) | Gatus | `twinproduction/gatus` |

Si solo instalas uno: **Uptime Kuma** ([instalar Uptime Kuma](/install-uptime-kuma/)). Añade **Dozzle** al depurar. Guía: [Beszel & Uptime Kuma](https://www.bitdoze.com/beszel-uptime-kuma/).

<Notice type="warning" title="Uptime Kuma v1 a v2">
v2 es la línea estable desde octubre de 2025. Haz backup del directorio de datos antes de actualizar desde v1. Hay breaking changes, y upstream tiene una guía de migración. No subas la imagen en una máquina que no puedas restaurar.
</Notice>

¿Prefieres config-como-código? Lee la [comparación Uptime Kuma vs Gatus](/uptime-kuma-vs-gatus/) antes de elegir.

### Contenedores de notificaciones

| Herramienta | Rol | Imagen |
| --- | --- | --- |
| **ntfy** ⭐ | Push HTTP + apps móviles | `binwiederhier/ntfy` |
| Gotify | Servidor push simple | `gotify/server` |
| Apprise | Fan-out a más de 100 notificadores | `caronc/apprise` |

Apunta Uptime Kuma / *arr / scripts a ntfy y deja de configurar webhooks de Discord en doce sitios.

### Contenedores de seguridad y privacidad

Contraseñas, IPS, SSO, búsqueda privada.

#### Elecciones rápidas

| Necesidad | Elección | Imagen |
| --- | --- | --- |
| Gestor de contraseñas | **Vaultwarden** ⭐ | `vaultwarden/server` |
| Bloquear atacantes | **CrowdSec** ⭐ | `crowdsecurity/crowdsec` |
| SSO simple por passkey | **Pocket ID** ⭐ | `pocket-id/pocket-id` |
| SSO ligero + 2FA | Authelia | `authelia/authelia` |
| IdP completo (LDAP/SAML) | Authentik | `ghcr.io/goauthentik/server` |
| Búsqueda privada | **SearXNG** ⭐ | `searxng/searxng` |

**Vaultwarden ⭐** - Compatible con Bitwarden, mucho más ligero que el servidor oficial.
**CrowdSec ⭐** - Prefiere esto sobre Fail2Ban para instalaciones nuevas (inteligencia de amenazas compartida). Guía: [asegurar un servidor con CrowdSec](/crowdsec-secure-server/). Fail2Ban sigue funcionando: `crazymax/fail2ban`.
**Escalera SSO:** Pocket ID (solo passkeys) → Authelia (YAML) → Authentik (pesado).
**SearXNG ⭐** - Metabúsqueda sin rastreo. Guía: [Self-host SearXNG](https://www.bitdoze.com/searxng-self-host-privacy-search/).

Imagen de WireGuard `linuxserver/wireguard` si quieres peers en bruto; prefiere [WireGuard Easy](#contenedores-de-gestión-de-red) para una UI. OpenVPN: `kylemanna/openvpn` (montajes heredados).

### Contenedores de productividad

| Necesidad | Elección | Imagen |
| --- | --- | --- |
| Wiki | Bookstack o Docmost | `linuxserver/bookstack` / `docmost/docmost` |
| Notas (clientes + E2E) | Joplin server | `joplin/server` |
| Notas de timeline ligeras | Memos | `neosmemo/memos` |
| Recetas | **Mealie** ⭐ | `ghcr.io/mealie-recipes/mealie` |
| Marcadores + archivo | **Karakeep** ⭐ | `karakeep-app/karakeep` |
| Marcadores mínimos | Linkding | `sissbruecker/linkding` |
| Toolkit PDF | **Stirling PDF** ⭐ | `frooodle/s-pdf` |
| Navaja suiza de herramientas dev | IT-Tools | `corentinth/it-tools` |
| Newsletter | Notifuse | ver [guía](https://www.bitdoze.com/notifuse-self-host-newsletter/) |
| E-firmas | Documenso | `documenso/documenso` |
| Inventario del hogar | Homebox | `ghcr.io/sysadminsmedia/homebox` |
| Kanban | Kanboard / Wekan | `kanboard/kanboard` / `wekanteam/wekan` |

**Stirling PDF ⭐** - Merge, OCR, comprimir, etc. [Self-host Stirling PDF](https://www.bitdoze.com/stirling-pdf-self-host-manipulation/).
**Mealie ⭐** - Importa recetas desde URLs, planes de comidas, listas de la compra. Tandoor es la alternativa centrada en nutrición (`vabene1111/recipes`).
**Karakeep ⭐** (ex-Hoarder) - Marcadores + archivo de página completa + tags de IA.
**Docmost** - Base de conocimiento colaborativa. [Install Docmost](https://www.bitdoze.com/docmost-docker-install/).

### Contenedores de desarrollo

Git, IDE en navegador, paneles PaaS, auto-actualizaciones.

| Necesidad | Elección | Imagen / notas |
| --- | --- | --- |
| PaaS self-hosted | **Coolify** ⭐ o **Dokploy** ⭐ | Script de instalación de Coolify / `dokploy/dokploy` |
| Hosting de Git | Gitea o Forgejo | `gitea/gitea` / `codeberg.org/forgejo/forgejo` |
| VS Code en el navegador | Code-Server | `linuxserver/code-server` |
| Auto-actualizar imágenes | Watchtower (fork mantenido) | `nicholas-fedor/watchtower` (confirma el nombre exacto de la imagen en el README del fork). El `containrrr/watchtower` original está archivado |
| CI clásico | Jenkins | `jenkins/jenkins` |

**Coolify ⭐** - Panel completo, muchas apps de un clic. [Install](https://www.bitdoze.com/coolify-install-heroku-alternative/) · [Coolify PaaS review](https://www.bitdoze.com/coolify-v5-self-hosted-paas-review/) · [vs Dokploy vs Kamal 2](https://www.bitdoze.com/coolify-vs-dokploy-vs-kamal-2/).
**Dokploy ⭐** - PaaS amigable con Compose. [Install Dokploy](https://www.bitdoze.com/dokploy-install/).
**Watchtower** - Auto-actualiza imágenes en un calendario. **El `containrrr/watchtower` original quedó archivado en diciembre de 2025**. No construyas un stack nuevo sobre él. Usa el fork mantenido `nicholas-fedor/watchtower` (activo a octubre de 2026) y migra si sigues corriendo la imagen vieja; mira el README del fork para la ruta exacta de la imagen antes de pegar una línea `image:`. Lo que uses: excluye las bases de datos y fija los tags críticos. Si quieres un diseño distinto, [Tugtainer: auto-actualizador self-hosted de Docker](/tugtainer-docker-autoupdate/) cubre el mismo trabajo.

### Contenedores de bases de datos

| BD | Usa cuando | Imagen |
| --- | --- | --- |
| **PostgreSQL** ⭐ | La mayoría de apps modernas | `postgres` |
| **MariaDB** ⭐ | Apps compatibles con MySQL | `mariadb` |
| **Valkey** ⭐ | Caché compatible con Redis (default open-source tras el cambio de licencia) | `valkey/valkey` |

Vale la pena saberlo: una instancia de PostgreSQL puede cubrir varias de estas categorías a la vez. Mira [qué puede reemplazar Postgres](/es/que-reemplaza-postgres/) antes de desplegar un contenedor separado de caché o búsqueda. Si quieres varias bases de datos de apps en un solo servicio: [múltiples bases de datos Postgres en un servicio Docker Compose](/multiple-postgres-databases-docker/).

**Fija el tag de versión mayor** (`postgres:18`). Las actualizaciones mayores de Postgres no migran automáticamente el directorio de datos. `pg_upgrade` es un paso manual, no un bump de tag. PG 18 es la línea estable actual; PG 14 llega a EOL el 12-11-2026.

### Contenedores de backup y recuperación

| Necesidad | Elección | Imagen |
| --- | --- | --- |
| Restic con UI web | **Backrest** ⭐ | `garethgeorge/backrest` |
| Backup cifrado rápido + UI | **Kopia** ⭐ | `kopia/kopia` |
| UI multi-cloud simple | Duplicati | `linuxserver/duplicati` |
| CLI power user | Restic | `restic/restic` |

Haz backup de los volúmenes y de los archivos compose. Prueba una restauración una vez.

### Contenedores de finanzas personales

| Necesidad | Elección | Imagen |
| --- | --- | --- |
| Presupuesto por sobres (estilo YNAB) | **Actual Budget** ⭐ | `actualbudget/actual-server` |
| Libros completos de doble partida | **Firefly III** ⭐ | `fireflyiii/core` |
| Rastreador de suscripciones | Wallos | `ellite/wallos` |

GnuCash / HomeBank existen como opciones orientadas a escritorio si prefieres ese estilo.

### Contenedores de fotografía y gestión de imágenes

| Necesidad | Elección | Imagen |
| --- | --- | --- |
| Reemplazo de Google Photos | **Immich** ⭐ | `ghcr.io/immich-app/immich-server` |
| Librería de fotos con IA (alternativa) | PhotoPrism | `photoprism/photoprism` |

**Immich ⭐** es la elección habitual ahora: estable desde v2.0 (octubre de 2025), ahora en v3.x con backup móvil, caras, mapa y releases activas. Ya no es una beta que tengas que justificar. Sigue el compose de upstream con cuidado al actualizar.

### Contenedores de gestión de e-books

| Herramienta | Rol | Imagen |
| --- | --- | --- |
| Calibre-web | UI web de librería de e-books | `linuxserver/calibre-web` |
| Komga | Cómics / manga | `gotson/komga` |
| Kavita | Servidor de lectura multi-formato | `jvmilazz0/kavita` |

### Soluciones self-hosted de bases de datos (alternativas a Airtable)

| Herramienta | Rol | Imagen |
| --- | --- | --- |
| **NocoDB** ⭐ | UI de hoja de cálculo sobre SQL | `nocodb/nocodb` |
| **Baserow** ⭐ | Estilo Airtable | `baserow/baserow` |
| **Grist** ⭐ | Hoja de cálculo + fórmulas Python | `gristlabs/grist` |
| Teable | Rejilla rápida en tiempo real | `teableio/teable` |

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

### Contenedores de dashboards personales

| Herramienta | Estilo | Imagen |
| --- | --- | --- |
| **Homepage** ⭐ | Lleno de widgets, Docker labels | `ghcr.io/gethomepage/homepage` |
| **Glance** ⭐ | Minimal, YAML limpio | `glanceapp/glance` |
| Heimdall | Lanzador de tiles | `linuxserver/heimdall` |
| Homer | Enlaces estáticos, diminuto | `b4bz/homer` |
| Organizr | Shell de medios con pestañas | `organizr/organizr` |

### Herramientas especializadas

Nichos menos comunes pero útiles. Ojea las tablas; expande solo lo que necesites.

#### Escritorio remoto, ubicación, analítica

| Herramienta | Rol | Imagen |
| --- | --- | --- |
| **RustDesk** ⭐ | Alternativa a TeamViewer (relay self-host) | `rustdesk/rustdesk-server` |
| **Dawarich** ⭐ | Reemplazo de Google Timeline | `freika/dawarich` |
| **Matomo** ⭐ | Analítica web self-hosted | `matomo` |
| GoAccess | Analizador de access logs | `allinurl/goaccess` |
| Metabase | Dashboards BI sobre BDs | `metabase/metabase` |
| Postiz | Programación de redes sociales | consulta los docs de Postiz |

RustDesk es control de escritorio interactivo. Tailscale solo te mete en la red.

#### Documentos, web hosting, RSS, juegos, chat

| Herramienta | Rol | Imagen |
| --- | --- | --- |
| **Paperless-ngx** ⭐ | Archivo OCR de documentos | `ghcr.io/paperless-ngx/paperless-ngx` |
| WordPress | CMS completo | `wordpress` |
| Ghost | Publicación / newsletters (línea Ghost 6) | `ghost` |
| FreshRSS / Miniflux | Lectores RSS | `linuxserver/freshrss` / `miniflux/miniflux` |
| Minecraft / Valheim | Servidores de juegos | `itzg/minecraft-server` / `lloesche/valheim-server` |
| Pterodactyl | Panel multi-juego | `ghcr.io/pterodactyl/panel` |
| RomM | Gestor/reproductor de ROMs self-hosted (EmulationStation + web) | `rommapp/romm` |
| Mattermost | Chat estilo Slack | `mattermost/mattermost-team-edition` |
| Jitsi Meet | Videollamadas | `jitsi/web` |
| Matrix Synapse | Homeserver de chat federado | `matrixdotorg/synapse` |
| Rocket.Chat | Chat de equipo | `rocket.chat` |

#### Tiempo, tiempo (meteo), VoIP, contraseñas (extra)

| Herramienta | Rol | Imagen |
| --- | --- | --- |
| Kimai / TimeTagger | Registro de tiempo | `kimai/kimai2` / `almarklein/timetagger` |
| Weewx | Software de estación meteorológica | `felddy/weewx` |
| FreePBX / Asterisk | VoIP | `tiredofit/freepbx` / `andrius/asterisk` |
| Passbolt | Gestor de contraseñas de equipo | `passbolt/passbolt` |

Vaultwarden (arriba) sigue siendo la elección por defecto para contraseñas personales.

<Accordion label="Buenas prácticas y resolución de problemas (expande cuando algo se rompa)" group="ops">

**Organización**
- Nombra los stacks con claridad (`media-sonarr`, no `app2`)
- Un stack compose por asunto
- Redes compartidas por grupo; archivos compose en Git

**Recursos**
- Límites de memoria en Immich, Nextcloud, BDs, LLMs
- Codificación por hardware para medios cuando puedas
- `docker stats` tras añadir servicios

**Seguridad**
- Solo imágenes de confianza; cuidado con el socket de Docker
- Secretos: [Compose secrets](https://www.bitdoze.com/docker-compose-secrets/), no contraseñas commiteadas
- Reverse proxy + SSO antes de cualquier cosa pública
- CrowdSec (o Fail2Ban) en el borde

**Actualizaciones**
- Watchtower (el fork mantenido) solo para apps de bajo riesgo; **nunca** auto-actualices bases de datos
- Fija las versiones mayores de BD (`postgres:18`). Las actualizaciones mayores necesitan `pg_upgrade`, no un bump de tag. Si Postgres se niega a arrancar tras un bump con un desajuste de versión del directorio de datos, el arreglo es `pg_upgrade` o una restauración desde backup, no un reinicio. Más detalle: [cómo actualizar un contenedor con Docker Compose](/updating-container-docker-compose/)
- Backups programados (Backrest / Kopia / Duplicati) y una restauración de prueba
- Dozzle + Uptime Kuma para muertes nocturnas

**Arreglos rápidos**
- Puertos: `docker ps` · Redes: `docker network ls`
- Conflictos: renombra contenedores, arregla bind mounts
- RAM: `docker stats`, luego límites o más hardware
- ¿El stack no arranca tras un bump de imagen? `git checkout` del pin anterior del compose y `docker compose up -d` de nuevo

</Accordion>

## Conclusiones

### Chuleta

| Área | Elección por defecto |
| --- | --- |
| Medios | Jellyfin + Prowlarr + Sonarr/Radarr + qBittorrent (+ Gluetun) |
| Música | Navidrome |
| Archivos | Nextcloud o Seafile + Filebrowser Quantum |
| DNS / remoto | AdGuard + Tailscale |
| Proxy | Caddy o Nginx Proxy Manager |
| UI de Docker | Dockge ([alternativas a Portainer](https://www.bitdoze.com/portainer-alternatives/)) |
| Ops | Uptime Kuma + Dozzle + Beszel |
| Seguridad | Vaultwarden + CrowdSec + Pocket ID/Authelia |
| PaaS | Coolify o Dokploy |
| Backup | Backrest o Kopia |
| Fotos | Immich |
| Presupuesto | Actual Budget o Firefly III |

### Qué ha cambiado en 2026

- **El streaming remoto de Plex está bajo paywall** (desde abril de 2025). El precio del Lifetime Pass para compradores nuevos volvió a subir en julio de 2026. En local gratis; Jellyfin es el cambio sin pagar.
- **Watchtower (`containrrr`) está archivado** (diciembre de 2025). El fork mantenido es el default; migra desde la imagen vieja.
- **El Overseerr original está archivado** (2026). Jellyseerr es la UI de peticiones tanto para Plex como para Jellyfin.
- **Coolify** y **Dokploy** son las principales opciones de PaaS self-hosted.
- **Filebrowser Quantum** reemplazó al original en solo-mantenimiento (ahora estable 2.x).
- **Pocket ID**, **Gluetun**, **Dozzle**, **Karakeep**, **Dawarich**, **Actual Budget** son nuevos defaults habituales.
- Immich para fotos (estable desde v2.0, ya no beta), Valkey en lugar de Redis, Tailscale para acceso familiar siguen vigentes.

### Para empezar

1. Stack inicial de arriba (Dockge → DNS → dashboard → archivos → medios)
2. Uptime Kuma + Dozzle
3. Vaultwarden + Tailscale
4. Backups antes de que los datos importen

No instales 125 contenedores el primer día. Elige un objetivo de la tabla de arriba, termina ese stack, y luego expande. Más apps: [toolhunt.net self-hosted](https://toolhunt.net/sh/). Para proyectos de GitHub específicos de IA (Ollama, OpenClaw, n8n, Langfuse y amigos), mira los [top repositorios de IA en GitHub](/top-ai-github-repos/).

<Button text="Empieza con el stack inicial" link="#stack-inicial-haz-esto-primero" variant="solid" color="blue" size="md" />