DuckDNS: Docker

1 minuto(s) de lectura

Docker

DuckDNS un servicio DDNS (DNS dinámico) diseñado para convertir nuestra dirección IP pública, complicada de recordar, en un dominio mucho más sencillo de recordar y, además, mantenerlo siempre actualizado de manera que podamos estar seguros de que la conexión con nuestra red está siempre garantizada, incluso aunque tengamos IP dinámica.

Este servicio nos permite crear hasta 5 dominios DDNS totalmente gratuitos con una cuenta.

Anteriormente ya vimos de configurar DuckDNS en el Servidor, aunque ahora lo dejo como servicio Docker para realizar la actualización de IP.

NOTA: El token de referencia del post no tiene validez, haz de usar tu propio bot u otro token conocido.

Vamos a realizar unos pasos previos para preparar el entorno.

En primer lugar creamos las carpetas donde alojar el proyecto:

mkdir -p $HOME/docker/duckdns && \
cd $HOME/docker/duckdns

Ahora vamos a crear el fichero de configuración docker-compose.yml lanzando el siguiente comando:

cat << EOF > $HOME/docker/duckdns/docker-compose.yml
version: "2.1"
services:
  duckdns:
    image: ghcr.io/linuxserver/duckdns
    container_name: DuckDNS
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Madrid
      - SUBDOMAINS=lordpedal
      - TOKEN=9e84bbbc-9a63-4f11-b42b-66f2c1f721cf
      - LOG_FILE=true
    volumes:
      - ~/docker/duckdns:/config
    restart: always
EOF

Vamos a repasar los principales parámetros a modificar para adaptarlos a nuestro sistema y configuración especifica:

Parámetro Función
PUID=1000 UID de nuestro usuario. Para saber nuestro ID ejecutar en terminal: id
PGID=1000 GID de nuestro usuario. Para saber nuestro ID ejecutar en terminal: id
TZ=Europe/Madrid Zona horaria Europa/Madrid
SUBDOMAINS=lordpedal Subdominio/s creados con la cuenta de usuario, en caso de disponer multiples, por ejemplo 3 sería: SUBDOMAINS=lordpedal,overclock,overspeed
TOKEN=9e84bbbc-9a63-4f11-b42b-66f2c1f721cf Token de cuenta Duck DNS que obtenemos al registrar subdominios
LOG_FILE=true Habilitamos la creación del LOG de ejecución duck.log
~/docker/duckdns:/config Ruta donde almacenaremos el LOG de ejecución
restart: always Habilitamos que tras reiniciar la maquina anfitrion vuelva a cargar el servicio

Una vez configurado, lo levantamos para ser creado y ejecutado:

docker-compose up -d

Tras haber lanzado el comando, ya tendriamos el servicio disponible.

Para comprobar el correcto funcionamiento, revisamos el log que se crea y actualiza cada 5min:

pi@overclock:~/docker/duckdns$ ls
docker-compose.yml  duck.log
pi@overclock:~/docker/duckdns$ cat duck.log
Your IP was updated at Thu Jan 6 18:25:07 CET 2021

Y listo!