1. ¿Qué es Nginx Proxy Manager?

Es una aplicación con interfaz web que te permite configurar un proxy inverso basado en Nginx de forma sencilla. Sirve para publicar tus servicios (por ejemplo, una web o una app) usando tu dominio, gestionar redirecciones y crear/renovar certificados SSL (Let’s Encrypt) con unos pocos clics, sin tener que editar archivos de configuración a mano.

 

2. Requisitos previos

  • Tener acceso a internet.
  • Abrir los puertos 80 y 443 en el router para esta máquina (necesario para poder crear certificados válidos)
  • Contar con una instalación previa de Docker.
  • Opcional - Contar con una instalación previa de Portainer.

 

3. Instalación por Docker Run

Para poder comenzar con la instalación de Nginx Proxy Manager, es necesario estar conectados a la instancia de Ubuntu Server que cuenta con Docker instalado previamente.

Para ello, se deberá de abrir una terminal de powershell desde la que se accederá por SSH especificando el usuario administrador de la máquina y la dirección IP.

ssh Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

 

Especificaremos las credenciales respectivas para acceder.

 

A continuación, procederemos a reemplazar en el siguiente comando los valores que se adapten a nuestra instancia.

$ docker run \
--name nginx-proxy-manager \
-p 80:80 \
-p 81:81 \
-p 443:443 \
-v /opt/docker/nginx-proxy-manager/data:/data \
-v /opt/docker/nginx-proxy-manager/letsencrypt:/etc/letsencrypt \
jc21/nginx-proxy-manager:latest

Reemplazar /opt/docker/ por la ruta que quieras utilizar en tu servidor. Si no crealas:

$ sudo mkdir -p /opt/docker/nginx-proxy-manager/data 

 

$ sudo mkdir -p /opt/docker/nginx-proxy-manager/letsencrypt

 

Una vez ejecutado, ya se tendrá Nginx Proxy Manager desplegado.

 

4. Instalación por Docker Compose


Abre tu navegador web y accede a la web de Portainer ingresando la IP de tu servidor seguido del puerto que se tenga configurado.

$ https://<IP-Host>:9443/

 

Inicia sesión con tu usuario y contraseña.


En el panel de Portainer, dirígete al menú y haz clic en Stacks, pulsa el botón Add Stack (Agregar Stack) y configura el stack con Docker Compose
-En el campo Name (Nombre), introduce nginx por ejemplo.

 

-En el campo Web editor, copia y pega el siguiente archivo docker-compose.yml:

version: "3.8"

services:
    nginx-proxy-manager:
        image: jc21/nginx-proxy-manager:latest
        container_name: nginx-proxy-manager
        restart: unless-stopped
        ports:
            - "80:80"
            - "81:81"
            - "443:443"
        volumes:
            - /opt/docker/nginx-proxy-manager/data:/data
            - /opt/docker/nginx-proxy-manager/letsencrypt:/etc/letsencrypt
  

Verifica las rutas del host. Si /opt/docker/nginx-proxy-manager/ no existe en tu servidor, créalo antes de continuar.

$ sudo mkdir -p /opt/docker/nginx-proxy-manager/data 

 

$ sudo mkdir -p /opt/docker/nginx-proxy-manager/letsencrypt

 

Despliega el stack, para ello, baja hasta la parte inferior de la página y haz clic en Deploy the Stack (Desplegar el Stack). Portainer descargará automáticamente la imagen de Nginx Proxy Manager y creará el contenedor.


Una vez que el stack se haya desplegado correctamente, ve al menú de Portainer y haz clic en Containers (contenedores) y busca el contenedor Nginx Proxy Manager y asegúrate de que su estado sea running (en ejecución).

 

5. Inicializar Nginx Proxy Manager

Abre tu navegador y accede a la siguiente URL (modificando <IP-Host> con los datos correspondientes):

$ http://<IP-Host>:81/

 

Rellena tus datos para completar el acceso.

 

Ya se dispone de acceso a la aplicación.