Adguard: Instalar y hacer backup desplegándolo en container (por ejemplo con Docker)
En mi caso he utilizado una SBC Orange PI de 15 euros para instalar mi Adguard y así es mas independiente y el consumo energético es despreciable. El sistema operativo que he usado es Arch Linux, para equipos con recursos limitados es siempre la mejor opción. Si tienes interés en verlo en un vídeo de Youtube ponte en contacto conmigo, a mayor interés mas posibilidades que publiquemos un vídeo tutorial.
Parte 1: Instalación de AdGuard Home en un Contenedor Docker
Paso 1: Instalar Docker en Arch Linux
Antes de comenzar, necesitas tener Docker instalado en tu sistema.
Instala Docker:
sudo pacman -S docker
Inicia y Habilita el Servicio Docker:
sudo systemctl start docker.service
sudo systemctl enable docker.service
Agregar tu Usuario al Grupo Docker (Opcional):
Para ejecutar comandos Docker sin sudo:
sudo usermod -aG docker $USER
Nota: Después de ejecutar este comando, cierra sesión y vuelve a iniciarla para que los cambios surtan efecto.
Paso 2: Crear Directorios para Configuración y Datos Persistentes
Necesitamos crear directorios en el host para almacenar los datos y la configuración de AdGuard Home. Esto garantiza que los datos se mantengan incluso si el contenedor se elimina o recrea.
mkdir -p ~/adguardhome/config
mkdir -p ~/adguardhome/work
Paso 3: Ejecutar AdGuard Home con Docker
Puedes ejecutar AdGuard Home usando el comando docker run o crear un archivo docker-compose.yml. Aquí te mostraré ambas opciones.
Opción A: Usando docker run
docker run -d \
--name adguardhome \
--restart unless-stopped \
-v ~/adguardhome/work:/opt/adguardhome/work \
-v ~/adguardhome/config:/opt/adguardhome/conf \
-p 53:53/tcp -p 53:53/udp \
-p 67:67/udp \
-p 68:68/udp \
-p 80:80/tcp \
-p 443:443/tcp \
-p 3000:3000/tcp \
adguard/adguardhome
Explicación de los parámetros:
- –name adguardhome: Nombra el contenedor «adguardhome».
- –restart unless-stopped: Configura el contenedor para reiniciarse automáticamente.
- -v: Monta volúmenes para persistencia de datos.
- ~/adguardhome/work y ~/adguardhome/config: Directorios en el host.
- -p: Mapea puertos entre el host y el contenedor.
- Puertos comunes utilizados por AdGuard Home.
- adguard/adguardhome: Imagen oficial de AdGuard Home en Docker Hub.
Opción B: Usando Docker Compose
- Instala Docker Compose: Puedes instalar docker-compose utilizando pip:
sudo pacman -S python-pip sudo pip install docker-compose
- Crear un archivo docker-compose.yml:
nano ~/adguardhome/docker-compose.yml
Contenido del archivo:version: '3' services: adguardhome: container_name: adguardhome image: adguard/adguardhome:latest restart: unless-stopped volumes: - ./work:/opt/adguardhome/work - ./config:/opt/adguardhome/conf ports: - "53:53/tcp" - "53:53/udp" - "67:67/udp" - "68:68/udp" - "80:80/tcp" - "443:443/tcp" - "3000:3000/tcp"
- Ejecutar Docker Compose:
cd ~/adguardhome docker-compose up -d
Paso 4: Configurar AdGuard Home
Accede a la interfaz web para completar la configuración inicial.
- URL de Acceso:
- Si estás en el mismo host: http://localhost:3000
- Desde otro dispositivo: http://<IP_DEL_HOST>:3000
- Asistente de Configuración: Sigue los pasos del asistente para:
- Seleccionar el idioma.
- Aceptar los términos y condiciones.
- Configurar las interfaces de red y puertos (puedes dejar los valores por defecto).
- Establecer una contraseña de administrador.
Paso 5: Configurar el DNS en Tus Dispositivos o Router
Para que AdGuard Home filtre el tráfico DNS y bloquee anuncios, necesitas apuntar tus dispositivos o router al servidor DNS de AdGuard Home.
- En el Router:
- Cambia el servidor DNS primario a la IP del host donde se está ejecutando AdGuard Home.
- En Dispositivos Individuales:
- Configura el servidor DNS en las opciones de red de cada dispositivo.
Parte 2: Realizar Copias de Seguridad de AdGuard Home en un Contenedor
Al usar contenedores, la persistencia de datos depende de los volúmenes montados. Aquí te mostraré cómo respaldar y restaurar tu configuración y datos.
Paso 1: Identificar los Directorios de Datos y Configuración
- Directorios en el Host:
- Configuración: ~/adguardhome/config
- Datos: ~/adguardhome/work
Estos directorios contienen:
- Configuración: AdGuardHome.yaml y otros archivos de configuración.
- Datos: Listas de filtros, registros, estadísticas, etc.
Paso 2: Realizar la Copia de Seguridad
Opción 1: Crear un Archivo Comprimido con tar
tar -czvf ~/adguardhome_backup_$(date +%F).tar.gz -C ~/adguardhome/ config work
- Explicación:
- tar -czvf: Crea un archivo tar comprimido con gzip.
- ~/adguardhome_backup_$(date +%F).tar.gz: Nombre del archivo de respaldo con la fecha actual.
- -C ~/adguardhome/: Cambia al directorio ~/adguardhome/ antes de empaquetar.
- config work: Directorios a incluir en la copia de seguridad.
Opción 2: Copiar los Directorios Manualmente
cp -r ~/adguardhome/config ~/adguardhome_backup/config_$(date +%F)
cp -r ~/adguardhome/work ~/adguardhome_backup/work_$(date +%F)
- Asegúrate de que el directorio ~/adguardhome_backup/ exista.
Paso 3: Automatizar las Copias de Seguridad (Opcional)
Puedes crear un script y programar una tarea cron para realizar copias de seguridad periódicas.
Crear un Script de Respaldo
- Crear el archivo del script:
nano ~/adguardhome/backup_adguard.sh
- Agregar el siguiente contenido:
#!/bin/bash tar -czvf ~/adguardhome_backup_$(date +%F).tar.gz -C ~/adguardhome/ config work
- Hacer el script ejecutable:
chmod +x ~/adguardhome/backup_adguard.sh
Programar con cron
- Editar el crontab:
crontab -e
- Agregar la siguiente línea para realizar un respaldo diario a las 3 a.m.:
0 3 * * * /bin/bash ~/adguardhome/backup_adguard.sh
Paso 4: Restaurar la Copia de Seguridad
Paso 1: Detener y Eliminar el Contenedor Existente (si es necesario)
docker stop adguardhome
docker rm adguardhome
Paso 2: Restaurar los Archivos de Respaldo
Si usaste un archivo tar:
tar -xzvf ~/adguardhome_backup_YYYY-MM-DD.tar.gz -C ~/adguardhome/
- Reemplaza YYYY-MM-DD con la fecha correspondiente.
Si copiaste los directorios manualmente:
cp -r ~/adguardhome_backup/config_YYYY-MM-DD ~/adguardhome/config
cp -r ~/adguardhome_backup/work_YYYY-MM-DD ~/adguardhome/work
Paso 3: Reiniciar el Contenedor
Opción A: Usando docker run
Ejecuta nuevamente el comando docker run como en la instalación inicial.
Opción B: Usando Docker Compose
cd ~/adguardhome
docker-compose up -d
Consideraciones Adicionales
Seguridad y Permisos
- Permisos de Archivos: Asegúrate de que los directorios y archivos de configuración tienen los permisos adecuados para que Docker pueda acceder a ellos.
chmod -R 755 ~/adguardhome/
Actualización de AdGuard Home
Para actualizar AdGuard Home a una versión más reciente:
- Extraer la Última Imagen de Docker:
docker pull adguard/adguardhome:latest
- Recrear el Contenedor: Si usas docker run:
- Detén y elimina el contenedor existente:
docker stop adguardhome docker rm adguardhome
- Ejecuta nuevamente el comando docker run.
cd ~/adguardhome docker-compose pull docker-compose up -d
- Detén y elimina el contenedor existente:
Configuración de Puertos y Firewall
- Asegúrate de que los puertos necesarios están abiertos y no hay conflictos con otros servicios.
- Firewall: Si tienes un firewall activo, permite el tráfico en los puertos utilizados por AdGuard Home.
sudo iptables -A INPUT -p tcp --match multiport --dports 53,67,68,80,443,3000 -j ACCEPT sudo iptables -A INPUT -p udp --match multiport --dports 53,67,68 -j ACCEPT
Uso de HTTPS en la Interfaz Web
Si deseas acceder a la interfaz web de AdGuard Home a través de HTTPS, puedes configurar certificados SSL.
- Generar Certificados (Ejemplo con Let’s Encrypt): Puedes utilizar herramientas como Let’s Encrypt junto con Certbot para obtener certificados SSL gratuitos.
- Montar los Certificados en el Contenedor: Actualiza tu docker-compose.yml o comando docker run para incluir los volúmenes de los certificados. Ejemplo en docker-compose.yml:
volumes: - ./work:/opt/adguardhome/work - ./config:/opt/adguardhome/conf - /ruta/a/certificados/:/opt/certs/
- Configurar AdGuard Home: En la interfaz web, ve a Settings > Encryption Settings y configura las rutas a tus certificados.
Recursos Adicionales
- Documentación Oficial:
- Foros y Comunidad:
- Tutoriales Útiles:
¡Espero que esta guía te sea de gran ayuda para instalar y respaldar AdGuard Home utilizando contenedores en Arch Linux! Si tienes más preguntas o necesitas asistencia adicional, no dudes en consultarme. ¡Buena suerte con tu implementación!
Share this content:
Publicar comentario