Skip to main content

Nginx Proxy Manager (NPM)

image.png

Nginx Proxy Manager (NPM) es una interfaz de administración de Nginx que permite exponer servicios de una manera sencilla y segura usando certificados de Let's Encrypt.

Enlaces

Nginx Proxy Manager

Requisitos

Imagen

Repositorio de Docker Hub: jc21/nginx-proxy-manager - Docker Image | Docker Hub

Directorio de datos

mkdir -pv $CONTAINERDIR/nginx-proxy-manager/{data,letsencrypt}

Portainer- Nueva «Red»

Desde el menú Networks click "Add network": Name "proxy" Driver "bridge"

newred.gif

Portainer- Nuevo «stack»

Add a new stack | 2.20 | Portainer Documentation

Web editor

En Portainer «Stack» agregamos nuevo usando el editor WEB pegando el contenido del fichero «docker-compose.yml» y el contenido del fichero de variables2.15-docker_add_stack_web_editor.gif

Fichero de variables «.env»

TZ=$TZ
X_FRAME_OPTIONS=sameorigin

Fichero docker-compose.yml

services:
  npm:
    image: docker.io/jc21/nginx-proxy-manager
    container_name: npm
    restart: unless-stopped
    env_file: stack.env
    ports:
      - 80:80
      - 81:81
      - 443:443
    volumes:
      - $CONTAINERDIR/nginx-proxy-manager/data:/data
      - $CONTAINERDIR/nginx-proxy-manager/letsencrypt:/etc/letsencrypt
networks:
  default:
    external: true
    name: proxy

Inicie sesión en la interfaz de administrador. Cuando su contenedor Docker se esté ejecutando, conéctese a él en el puerto 81 para la interfaz de administración.

Usuario Admin por defecto:

Email:    admin@example.com
Password: changeme

Inmediatamente después de iniciar sesión con este usuario predeterminado se le pedirá que modifique sus datos y cambie su contraseña

Publicar un servicio/host

Crear registro DNS

En el proveedor que aloja el servidor DNS público, crear un registro DNS que resuelva la IP pública que llega al Proxy hacia un nombre del estilo "host.domain.com"

Crear un nuevo "proxy host"

Añade un nuevo proxy host con el nombre de dominio creado en el paso anterior redirigido hacia el nombre del contenedor y el puerto que use:

image.png

image.png