DuckDNS: 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!