Consideraciones previas

Nginx Proxy Manager permite evitar la apertura de puertos extras en el servidor a utilizar, más allá de los puertos web y ssh.

Además posibilita agregar dominio/subdominio a cada servicio, junto con su respectivo certificado de seguridad SSL Let's Encrypt, todo de manera casi automatizada.

Voy a usar codeberg para alojar los archivos de configuración, para que mantengan el formato correcto.

Documentación oficial de referencia

Pre-Instalación

1. Instalar paquete de Apache para poder utilizar autenticación por dominio de ser necesario

apt install apache2-utils

2. Crear red docker (el nombre elegido es 'proxy', puede ser cualquier otro)

docker network create proxy

3. Estructura de directorios y archivos

nginxpm/

├── data/

├── docker-compose.yml

  • Crear carpeta data (vacía)

  • Agregar archivo docker-compose.yml con el contenido alojado en codeberg

Instalación

1. Iniciar contenedor

docker compose up -d

La primera vez que se ejecuta hay que tener en cuenta:

  • Las claves JWT serán generadas y guardadas en la carpeta data

  • La base de datos inicializará la estructura de las tablas

  • Se creará un usuario administrador predeterminado

Este proceso puede tomar algunos minutos dependiendo del servidor

Para comprobar que todo va bien, se puede revisar con el comando para ver logs de docker

docker compose logs -f

Para terminar de mostrar logs, usar CTRL+C, esto devuelve la terminal pero no finaliza el contenedor, sólo el log

2. Ir al navegador y colocar la IP del servidor + el puerto 81 (EJ: 1.2.3.4:81). Debería aparecer la pantalla de ingreso.

NOTA: tiene que estar habilitado el puerto vía TCP en el firewall, si es que el servidor lo tiene activado

3. Usuario y contraseña por defecto, que por seguridad pide cambiar inmediatamente al ingresar

  • Correo: admin@example.com

  • Contraseña: changeme

Finalización

En este punto ya está Nginx Proxy Manager funcionando y listo para usar, se pueden ir agregando servicios nuevos con dominios y configurarlos en el panel, incluído el mismo Nginx PM.