Usando Nginx-Proxy-Manager en la Raspberry

· 3 min · @Hardware · #Raspberry Pi #Docker

Aquí tenemos otra entrada más que hace referencia a mi RPI y a ese inmenso océano que se ha abierto al descubrir Docker.

Una vez que tienes tu propio Spotify, el siguiente paso que quieres hacer, es acceder a él desde exterior y para hacer esto tienes 2 maneras de hacerlo:

  • Abrir directamente el puerto de tu Spotify con el riesgo que conlleva.
  • Utilizar un Proxy para que a través de https, junto a un certificado SSL para darle más seguridad, acceder a este servicio sintiéndote un poco más seguro.

Entonces, para hacer esto (segunda opción), no vayamos a ponerle las cosas fáciles a los crackers, tenemos varias opciones (voy a poner las que he usado) y todas disponibles con Docker:

  • Traefik: Muy buena opción, pero de difícil configuración, a mi modo de ver.
  • Nginx-Proxy-Manager: El más vistoso (incluye GUI) desde la que puedes hacerlo todo.
  • Caddy: El más fácil de usar.

Al principio usé Traefik, es muy poderoso y tiene muchas opciones de configuración, pero por ese mismo motivo, porque tiene muchas opciones, lo hace más difícil de usar.

Después me decanté por Caddy porque todo lo tenía al alcance de la mano, con un simple fichero de texto y era una maravilla su simpleza, pero todo cambió, cuando sacaron una nueva versión de Caddy que me arruinó el chiringuito o fue duckdns no lo tengo aún del todo claro (tendré que seguir haciendo pruebas).

A lo que me vengo a referir es que en caddy (versiones antiguas) tenía una url parecida a esta https://music.midominio.duckdns.org pero algo cambió en caddy o en duckdns que que ya no aceptaba este tipo de url, y tuve que cambiar a una de este estilo http://music-midominio.duckdns.org a parte que tampoco me creaba los certificados (por eso digo, que no se si era culpa de Caddy o de duckdns).

Pero no podía estar si acceso a mi Spotify privado y después de investigar (aunque ya había hecho un par de pruebas para ver como funcionaba) me decanté por Nginx-Proxy-Manager, no iba a volver a traefik si me fui de él por su complejidad, así que npm fue mi salvación, por la ayuda que te da a la hora de toda la configuración con sus diferentes pantallas que tienes a tu disposición (tanto para crear los dominios, como para crear los certificados).

Para usarlo en Docker utilicé la siguiente configuración:

npm:
 image: jc21/nginx-proxy-manager:latest
 container_name: npm
 restart: unless-stopped
 ports:
   - '80:80'
   - '81:81'
   - '443:443'
 volumes:
   - ${STORAGE}/config/npm/data:/data
   - ${STORAGE}/config/npm/letsencrypt:/etc/letsencrypt

Hay que tener en cuenta una cosa, en algunos sitios, te indican que tienes que tener, a parte de npm, tienes que tener un gestor de BBDD, pero yo he podido comprobar, y es como lo tengo actualmente, que no hace falta tener ningún gestor de BBDD (a lo mejor las nuevas versiones de npm ya lo tengan incorporado).

Una vez, instalado, accedemos a través (en mi caso) del puerto 81 y con las siguientes credenciales:

Username: admin@example.com
Password: changeme

Cuando accedemos al sistema, lo primero que hacemos es cambiar el usuario y el password de acceso y ya lo tenemos preparado para poderlo usar.

Con los vídeos que hay en la Referencia podrás configurarlo sin ningún problema.

◇ Referencia