Instalando Portainer en TrueNAS Community Edition con Vinculación de IP
Requisitos Previos
Antes de comenzar, asegúrate de haber completado la configuración post-instalación de TrueNAS. Construiremos sobre esas configuraciones, particularmente el dataset apps que creamos.
Crear un Dataset para Portainer
Lo primero que haremos es crear un nuevo dataset para la aplicación. En mi caso, lo crearé dentro del dataset apps que configuramos anteriormente.
- Ve a Datasets ▸ selecciona el dataset
apps - Haz clic en Add Dataset
- Nombre:
portainer - Deja las otras configuraciones por defecto ▸ Save
Agregar una Interfaz de Red Puente
Ahora viene la parte interesante: crearemos un puente de red que nos permite vincular Portainer a su propia dirección IP.
Creando el Puente
- Ve a System ▸ Network ▸ Interfaces ▸ Add
- Type: Selecciona
Bridge - Name:
br0(porque a los programadores nos gusta empezar a contar desde 0) - Description:
Bridge Network for Apps(opcional, pero acá nos gusta seguir buenas prácticas)
br seguido de un número único.Configuración de Direcciones IP
Define Static IP Addresses está seleccionado por defecto, y lo dejaremos así.
Ahora vamos a agregar las direcciones IP:
-
Primera Dirección IP: Esta debe ser la dirección IP ya asignada a tu interfaz de TrueNAS
- En mi caso, es
10.21.30.100/24
Nota al margen: Me gusta usar redes clase A porque son más fáciles de recordar y me ahorra algunas teclas
- En mi caso, es
-
Segunda Dirección IP: Esta será dedicada para Portainer
- Usaré
10.21.30.101/24
Nota al margen: Incremento el último octeto para simplificar y saber que esta dirección IP está asociada con este servidor TrueNAS (tengo dos servidores).
- Usaré
- Bridge Members: Selecciona tu interfaz de red existente
- Deja el resto de configuraciones por defecto
- Haz clic en Save
Probando los Cambios de Red
Verás dos botones: Test Changes y Revert Changes.
- Haz clic en Test Changes
- Si todo está configurado correctamente, la página se recargará y podrás guardar los cambios
- Si algo sale mal, no te preocupes: los cambios se revierten automáticamente después de 60 segundos
Configurar la Vinculación de IP de la GUI de TrueNAS
Ahora técnicamente ya podríamos vincular la aplicación a la dirección IP .101, pero hay un problema: no podemos usar el puerto 443 porque la GUI de TrueNAS ahora puede ser accedida desde ambas direcciones IP (.100 y .101).
Para solucionar esto, necesitamos vincular la GUI de TrueNAS a una sola dirección IP:
- Ve a System ▸ General Settings ▸ GUI
- Web Interface IP Address: Cambia a
10.21.30.100 - Ya que estamos aquí, si no leíste mi guía de post-instalación de TrueNAS, tal vez quieras configurar:
- HTTP Redirect to HTTPS
- Show Console Messages
- Y ajustar las opciones de tema
- Haz clic en Save
Ahora la GUI de TrueNAS solo será accesible a través de la dirección IP .100, liberando el puerto 443 en la dirección IP .101 para Portainer.
Instalar Portainer
¡Estamos listos para instalar Portainer!
- Ve a Apps ▸ Busca
Portainer▸ Haz clic en Install - La imagen de Community Edition está configurada por defecto - esto está bien
Configuración de Red
- Publish port on the host for external access está seleccionado por defecto - déjalo así
- Port: Cambia del puerto por defecto a
443 - Haz clic en Add junto a Host IPs
- Selecciona la dirección IP
10.21.30.101 - Deja el resto por defecto
Configuración de Almacenamiento
En Storage Configuration:
- Portainer Storage: Cambia a
Host Path - Selecciona el dataset que creaste anteriormente (
/mnt/tank/apps/portainer)
Configuración de Recursos
Lo último por configurar es Resources Configuration si quieres ajustarlo. Personalmente, creo que 2 CPUs y 4 GB de memoria es demasiado para Portainer, así que cambiaré la memoria a 1 GB.
Haz clic en Install.
Acceder a Portainer
Una vez que la instalación se complete:
- Haz clic en el botón HTTPS en la sección Application Info
- Esto abrirá una nueva pestaña con la GUI de Portainer
- Necesitarás aceptar la advertencia de seguridad ya que Portainer usa certificados auto-firmados - esto está bien
Por Qué Esta Configuración es Genial
Lo que realmente me gusta de esta configuración es que podemos acceder a Portainer por su propia dirección IP sin tener que escribir ningún número de puerto. Como uso Bitwarden como mi gestor de contraseñas, uso el atajo Ctrl + Shift + L para llenar automáticamente el usuario y contraseña.
No tengo que mover mi mano para agarrar el mouse, hacer clic en la extensión de Bitwarden, buscar las credenciales de Portainer y hacer clic en autocompletar porque tendría dos cuentas (TrueNAS y Portainer), y aún más si instalo más aplicaciones que se vinculen a la dirección IP de TrueNAS y solo usen un número de puerto diferente.
Eliminar fricción de mi flujo de trabajo es muy importante para mí.