Saltar al contenido
homelab@casa:~/servidor
~$homelabista

// PORTAINER

Portainer: gestionar Docker desde el navegador (guía)

Portainer para Docker en casa: qué aporta, cuándo compensa instalarlo y cómo usarlo sin exponer tu homelab a internet.

11 min de lecturaGonzalo
  • #portainer
  • #docker
  • #contenedores
  • #self-hosted
  • #homelab
Portainer, el panel web para gestionar Docker: arrancar, parar y actualizar contenedores desde el navegador en un mini PC de homelab encendido las 24 horas

Si ya tienes un par de contenedores corriendo en casa, sabes cómo es la rutina: entras por SSH al servidor, tiras de memoria con docker ps, buscas el nombre exacto del contenedor, y rezas por acordarte de la línea larga para ver sus registros. Portainer cambia esa rutina por un clic. Es una interfaz web —un panel que abres en el navegador— para gestionar Docker, el sistema que empaqueta cada aplicación en su propia caja aislada llamada contenedor. En vez de escribir comandos en la terminal, ves tus contenedores en una lista, con botones para arrancarlos, pararlos, reiniciarlos o mirar qué están diciendo.

No es magia ni sustituye a saber lo que haces. Es una capa cómoda encima de Docker que, en un homelab casero encendido a todas horas, te ahorra tiempo y te evita errores tontos. En esta guía vas a ver qué es exactamente, para quién tiene sentido, cómo se instala (es un contenedor más) y qué puedes hacer con él, más las alternativas por si no es lo tuyo.

[aff]Hay enlaces de afiliado más abajo: si compras algo desde ellos me llevo una pequeña comisión y a ti no te cuesta ni un céntimo más. En calidad de Afiliado de Amazon, obtengo ingresos por las compras adscritas que cumplen los requisitos aplicables.

Qué es Portainer exactamente

Portainer es, él mismo, un contenedor de Docker. Lo instalas como cualquier otro servicio y, a partir de ahí, se convierte en el mando a distancia de todo lo demás que corre en esa máquina. Por dentro tiene dos piezas:

  • Portainer Server: el contenedor principal, el que sirve la web que abres en el navegador y guarda la configuración.
  • Portainer Agent: una pieza opcional que se instala en otras máquinas para gestionarlas desde el mismo panel. Si solo tienes un servidor en casa, no lo necesitas: el Server habla directamente con el Docker local.

Hay dos versiones. Portainer CE (Community Edition, “edición comunitaria”) es gratis y de código abierto, y es la que casi todo el mundo usa en casa. Y Portainer BE (Business Edition), la comercial, con funciones para empresa; volvemos a ella más abajo, porque tiene un matiz interesante para homelab.

Lista de contenedores en Portainer: cada fila muestra el nombre, el estado (running, healthy, unhealthy), acciones rápidas, el stack al que pertenece, la imagen, la fecha, la IP y los puertos publicados
La vista de contenedores: estado de cada uno, acciones rápidas (registros, consola, estadísticas) y los puertos a un vistazo. Interfaz de Portainer, documentación oficial (docs.portainer.io).

Esa lista de arriba es el 80 % de por qué la gente instala Portainer. De un vistazo ves qué contenedores están running (en marcha), cuáles marcan healthy o unhealthy (si la aplicación trae una comprobación de salud propia), y tienes a mano los botones para ver sus registros o abrir una consola dentro del contenedor sin escribir una sola orden.

Para quién sí y para quién no

Me mojo, porque no es para todo el mundo:

Sí, si: llevas varios contenedores en casa (Plex o Jellyfin, Home Assistant, un gestor de descargas, bases de datos…), no vives en la terminal y quieres ver el estado de todo de un vistazo, reiniciar algo desde el móvil o revisar por qué un servicio se ha caído sin tener que buscar el comando. También si estás empezando con Docker y el panel te ayuda a entender qué es una imagen, un volumen o una red mientras aprendes.

No, si: ya defines todo tu homelab con archivos docker-compose.yml versionados y te sientes cómodo con la terminal; en ese caso Portainer te aporta poco más que una foto bonita. Y ojo con la seguridad: para funcionar, Portainer se conecta al “enchufe” de control de Docker (el socket /var/run/docker.sock). Quien controla ese socket controla Docker entero, y eso equivale a mandar sobre toda la máquina. No expongas el panel de Portainer a internet sin protección; en casa, déjalo en tu red local o detrás de una VPN, como la que explico en la guía para montar una VPN casera con WireGuard.

cómo encaja Portainer
HTTPS :9443docker.sockNavegadortu PC o móvilPortainercontenedor webMotor de Dockercontenedores y demásclic, no comandostraduce clics a órdenesquien manda de verdad

Portainer es una capa cómoda entre tú y el motor de Docker. Los clics del panel se convierten en las mismas órdenes que darías en la terminal.

Cómo instalarlo (es un contenedor más)

Necesitas Docker ya instalado y funcionando en la máquina. La documentación oficial de Portainer CE para Linux recomienda instalar Docker siguiendo sus instrucciones oficiales y evitar la versión por snap en Ubuntu, que da problemas de compatibilidad. Con Docker listo, la instalación de Portainer CE son dos órdenes.

Primero creas el volumen donde Portainer guardará su base de datos. Un volumen es el almacén persistente de un contenedor: lo que vive ahí sobrevive aunque borres y recrees el contenedor.

docker volume create portainer_data

Y después levantas el contenedor de Portainer:

docker run -d -p 8000:8000 -p 9443:9443 \
  --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:lts

Vale la pena entender cada trozo, que es donde la gente se pierde:

  • -p 9443:9443 abre el puerto 9443, por donde sirve la interfaz web. Portainer usa HTTPS con un certificado autofirmado que se genera él solo, así que la primera vez el navegador te avisará de que el certificado no es “de confianza”: es normal en tu propia red, aceptas y sigues.
  • -p 8000:8000 es un puerto opcional, solo necesario si vas a usar los Edge Agents para gestionar máquinas remotas. En un servidor casero único puedes quitarlo.
  • --restart=always hace que Portainer vuelva a arrancar solo si reinicias la máquina. Imprescindible en un equipo 24/7.
  • -v /var/run/docker.sock:/var/run/docker.sock es lo que le da a Portainer el control de Docker (el socket del que hablábamos). Sin esta línea, no puede gestionar nada.
  • portainer/portainer-ce:lts es la imagen: la edición comunitaria, etiqueta lts (long-term support, “soporte a largo plazo”), la versión estable recomendada.

Cuando el contenedor arranque, abre https://IP-DE-TU-SERVIDOR:9443 en el navegador. La primera pantalla te pide crear el usuario administrador con su contraseña. Ese paso hay que hacerlo pronto: por seguridad, si tardas mucho en configurarlo, Portainer bloquea el registro inicial y toca reiniciar el contenedor. Hecho eso, ya estás dentro.

Qué puedes hacer desde el navegador

Una vez dentro, Portainer te enseña todo lo que Docker gestiona por debajo, cada cosa en su pestaña:

  • Contenedores: la lista principal. Arrancar, parar, reiniciar, ver registros (los mensajes que suelta la aplicación), abrir una consola dentro del contenedor, y mirar estadísticas de CPU y memoria en vivo.
  • Stacks: así llama Portainer a un despliegue de Docker Compose, es decir, un grupo de contenedores definidos juntos (por ejemplo, una app y su base de datos). Puedes pegar un docker-compose.yml en el editor web y desplegarlo entero desde el navegador.
  • Imágenes: las plantillas de las que nacen los contenedores. Descargar versiones nuevas, ver cuánto ocupan y borrar las que ya no usas para recuperar disco.
  • Volúmenes y redes: el almacenamiento persistente y las redes internas por las que se hablan tus contenedores. Crearlos, revisarlos y limpiar lo que quedó huérfano.
Lista de stacks en Portainer: cada fila es un despliegue de Docker Compose, con su nombre, tipo Compose, si las imágenes están actualizadas, quién lo creó y cuándo
Los stacks son despliegues de Docker Compose gestionados desde la web: cada fila agrupa varios contenedores. Interfaz de Portainer, documentación oficial (docs.portainer.io).

Ese editor de stacks es, para mí, lo más útil del día a día: puedes tener toda tu configuración en el propio Portainer y actualizar un servicio cambiando una línea y pulsando “desplegar”, sin volver a la terminal.

Portainer CE frente a la BE (y las 3 gratis)

Para casa, Portainer CE cubre de sobra. Es gratis, abierto y no le falta nada de lo que un homelab necesita. La Business Edition añade cosas orientadas a empresa (control de acceso por roles fino, funciones de gestión de equipos, soporte comercial).

El matiz interesante: Portainer ofrece un programa llamado “3 Nodes Free” por el que puedes usar la Business Edition gratis en hasta 3 nodos (máquinas), con una clave de licencia que se renueva cada año sin coste mientras sigas en 3 nodos o menos. Si algún día tu homelab crece a varios servidores y te apetece cacharrear con las funciones de la versión de pago, es una vía legal y gratuita de probarla. Para un único mini PC, insisto, la CE va perfecta.

Alternativas: dockge, komodo o la propia terminal

Portainer no es la única opción, y ser honesto ayuda:

  • Dockge es un panel más ligero y centrado solo en stacks de Docker Compose. Si toda tu vida es compose y Portainer te parece demasiado, Dockge es minimalista y muy agradable. A cambio, no gestiona tantas cosas sueltas (imágenes, redes) con el detalle de Portainer.
  • Komodo apunta más alto: está pensado para construir y desplegar en varios servidores a la vez, con más orientación a automatización. Es más herramienta de “flota” que de “un servidor en casa”.
  • La línea de comandos. No lo olvides: docker y docker compose en la terminal siguen siendo la forma más directa y reproducible de gestionar todo. Cualquier panel es una comodidad encima, no un requisito. Si te va la terminal, no necesitas nada de esto.

La regla sencilla: empieza por Portainer CE si quieres un panel completo y visual, mira Dockge si solo usas Compose y buscas algo minimalista, y quédate en la terminal si ya te manejas y no quieres otra pieza que mantener.

Por qué encaja tan bien en un mini PC 24/7

Portainer brilla en el escenario típico del homelab: un equipo pequeño, silencioso y de bajo consumo, encendido todo el día, con un puñado de servicios encima. En ese contexto, tener el mando a distancia en el navegador es justo lo que quieres, porque rara vez te sientas delante de la máquina: la controlas desde el portátil o el móvil.

Y el propio Portainer pesa muy poco, así que no te va a pedir hardware extra. Cualquier mini PC de bajo consumo lo mueve sin enterarse: un Beelink S12 Pro con Intel N100 para el 90 % de los casos, o el mismo Beelink S12 Pro si vas a montar tu primer servidor desde cero. Para elegir por consumo y precio, tienes el comparador de mini PC con el filtro de vatios, y la cuenta de la factura en la guía de cuánto cuesta tener un servidor encendido todo el año.

¿Y qué le pones encima para gestionarlo luego con Portainer? Lo típico de un homelab que merece la pena: tu domótica con la guía de mini PC para Home Assistant, un servidor multimedia siguiendo la guía de Plex con Docker, o el almacenamiento de la casa como cuento en la comparativa de NAS caseros. Todo eso, después, se gestiona desde una sola pestaña del navegador.

// preguntas frecuentes

Preguntas frecuentes

¿Portainer es gratis?
Portainer CE (Community Edition) es gratis y de código abierto, y cubre de sobra un homelab casero. Existe además Portainer BE (Business Edition), la versión comercial con funciones para empresa, que ofrece un programa para usarla gratis en hasta 3 nodos.
¿Necesito saber Docker para usar Portainer?
Ayuda mucho entender los conceptos básicos (contenedor, imagen, volumen, red), pero Portainer es precisamente una buena forma de aprenderlos con una interfaz visual en vez de a base de comandos. No sustituye a entender lo que haces, pero suaviza la curva de entrada.
¿Es seguro dar a Portainer acceso al socket de Docker?
Portainer necesita acceso al socket /var/run/docker.sock para gestionar Docker, y quien controla ese socket controla toda la máquina. En una red doméstica es asumible, pero nunca expongas el panel directamente a internet: déjalo en tu red local o detrás de una VPN, y protégelo con una contraseña fuerte.
¿En qué puerto se abre Portainer?
Por defecto sirve la interfaz web en el puerto 9443 mediante HTTPS con un certificado autofirmado. La primera vez el navegador avisa de que el certificado no es de confianza; en tu propia red es normal, se acepta y se continúa. Hay también un puerto 8000 opcional, solo necesario para gestionar máquinas remotas con Edge Agents.
¿Portainer o Docker Compose por línea de comandos?
No es excluyente: Portainer puede desplegar y editar stacks de Docker Compose desde el navegador, usando los mismos archivos. Si te sientes cómodo en la terminal y ya versionas tus compose, Portainer aporta sobre todo comodidad visual. Si prefieres ver y tocar todo con clics, es donde más se nota.

Mi veredicto: Portainer CE es una de esas piezas que instalas en cinco minutos y acabas abriendo a diario. No es imprescindible —la terminal siempre está ahí—, pero en un mini PC casero lleno de contenedores, tener el mando a distancia en el navegador se agradece cada vez que algo se cae y lo arreglas desde el sofá.