Docker-Compose & CLI

¡Bienvenidos a Docker-Compose & CLI! En esta sección iré publicando los comandos que se pueden ejecutar en vuestro NAS vía SSH para instalar diferentes utilidades / herramientas mediante Docker o bien, ejecutando stack a través de Portainer.

En mi humilde opinión, es preferible instalar las aplicaciones vía Docker, ya que en caso de problema o incompatibilidad, bastará con eliminar el contenedor sin afectar al sistema de ficheros del propio sistema del NAS.

A medida que vaya publicando nuevos tutoriales o vaya encontrando Dockers de gran utilidad, los iré publicando en esta página.


Acceso rápido

🕰️
Última actualización: 10 de marzo de 2024

Portainer - Ghosler - Plausible CE - Docker-Controller-Bot - Snapp - Dockge - Pingvin - Umami - 2Fauth - SpeedTest - Joplin - Plex - Wordpress - Pi.Alert - Authelia - Ghost - Home Assistant - NGINX Proxy Manager - AdGuard Home - WireGuard - Pi-Hole


⚠️
Para usar Docker es imprescindible que nuestro NAS tenga una CPU Intel, ya que los procesadores ARM no son compatibles. Para comprobar que Arquitectura tiene el procesador de nuestro NAS podemos visitar el siguiente enlace.
⚠️
En cada comando Docker, tenéis que tener creada la carpeta en cuestión, sino modificar el comando a ejecutar con la ruta correcta en vuestro NAS.

Portainer

Portainer: Guía de instalación y configuración
Herramienta estrella para la creación y gestión de Docker.
sudo docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /volume1/docker/portainer:/data portainer/portainer-ce:latest

Ghosler

Exclusiva de HDS+ Docker desarrollado por Dani G.

Ghosler: Envío de emails y Newsletter con Ghost desde cualquier servidor SMTP
Por defecto Ghost obliga a pagar Mailgun cuyas tarifas son excesivas. Con esta herramienta podrás utilizar otro proveedor de correo electrónico.

Plausible CE

Cómo instalar Plausible CE: Estadísticas detalladas de tu sitio Web
Plausible lanza su nueva versión enfocada al SelfHosting. Tutorial completo con envío de emails y Maxmind integrado.

Docker-Controller-Bot

Exclusiva de HDS+ Bot desarrollado por Dani G.

Docker-Controller-Bot, tus contenedores en la palma de la mano
Bot de Telegram para el control absoluto de todos tus contenedores Docker.

Snapp

Snapp, el nuevo acortador de enlaces por excelencia
Descubre esta magnifica alternativa a Shlink. Mucho más sencillo y con una interfaz más moderna.

Dockge

Cómo instalar Dockge, la nueva alternativa a Portainer
Ejecuta, administra y controla tus Docker de una manera rápida, sencilla e intuitiva.

Pingvin

Instala la alternativa SelfHosted a WeTransfer en tu NAS
Envíe archivos por enlace o correo electrónico, de forma privada o pública, utilizando Pingvin Share.

Umami

Umami: Estadísticas detalladas de tu web en tiempo real
Tutorial sencillo para instalar Umami, el mejor Web Analytics para tu sitio.

2Fauth

2Fauth: Aplicación 2FA Self-Hosted en tu NAS o servidor unRAID
Además, intégralo con Twitter como protección de doble factor.

SpeedTest

Cómo medir la conexión a Internet desde tu NAS o unRAID
Instala un Test de Velocidad en tu NAS / unRAID y recibe las notificaciones en Telegram de forma automática

Joplin con WebDAV

Cómo instalar Joplin e integrarlo con WebDAV
Aprende a instalar, configurar e integrar Joplin en tu NAS, el mejor gestor de notas. Además con Backup de seguridad automático.

Plex

¿Cómo instalo y configuro Plex Media Server en mi NAS?
Plex, es el cliente/servidor de contenido multimedia por excelencia, el más utilizado actualmente por gran parte de los usuarios. Sobran las presentaciones y seguramente que tú también lo conozcas o hayas oído hablar de él. Plex se compone por dos ramas: el cliente y el servidor. Si queremos reprod…

Wordpress

Cómo instalar Wordpress en nuestro NAS con dominio propio
Aprende a instalar Wordpress y configurarlo con el Proxy Inverso para la utilización de un dominio propio.

Pi.Alert

Cómo instalar y configurar Pi.Alert en tu NAS
Aumenta la seguridad rastreando los dispositivos conectados en tu Red Local e identifica rápidamente el posible intruso.

Authelia

Authelia: Configuración con 2FA, LDAP, SSO e integración con Nginx Proxy Manager
Guía completa para la instalación y configuración de Authelia en tu NAS. Añade una capa extra de seguridad a tus servicios e intégralo con NPM.

Ghost 5 con MySQL 8

Cómo crear tu Blog con Ghost + MySQL + Nginx Proxy Manager en tu NAS
Guía completa para crear y hospedar tu Blog en tu NAS con base de datos , la última versión de Ghost y con dominio propio
version: '3.8'

services:
  ghost:
    image: ghost:latest
    container_name: ghost
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - 2368:2368
    environment:
      # see https://ghost.org/docs/config/#configuration-options
      database__client: mysql
      database__connection__host: db
      database__connection__user: demouser
      database__connection__password: demopassword
      database__connection__database: ghostdemo
      url: http://192.168.1.30:2368
      #NODE_ENV: development
    volumes:
      - /volume1/docker/ghost:/var/lib/ghost/content

  db:
    image: mysql:latest
    container_name: ghost-db
    command: mysqld --default-authentication-plugin=mysql_native_password
    restart: unless-stopped
    ports:
      - 3310:3306
    environment:
      # see https://hub.docker.com/_/mysql
      MYSQL_ROOT_PASSWORD: PruebaGhost
      MYSQL_DATABASE: ghostdemo
      MYSQL_USER: demouser
      MYSQL_PASSWORD: demopassword
    volumes:
      - /volume1/docker/mysql:/var/lib/mysql

Home Assistant

Cómo configurar correctamente tu Router Asus con Pi-Hole / AdGuard en el NAS
Configura tu Router Asus para que todos los dispositivos de tu Red tengan cobertura con Pi-Hole de forma automática.
version: '3.3'
services:
  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:latest"
    environment:
      - TZ=Europe/Madrid
    volumes:
      - /PATH_TO_YOUR_CONFIG:/config
    ports:
      - '8123:8123'
    restart: always
    privileged: true
    network_mode: host

Nginx Proxy Manager

Cómo instalar y configurar Nginx Proxy Manager en tu NAS
Guía detallada sobre cómo instalar tu Proxy Inverso en un NAS con certificado Let’s Encrypt.
version: "3"
services:
  npm-app:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: npm-app
    restart: unless-stopped
    ports:
      - '180:80' # Public HTTP Port
      - '143:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP
    environment:
      DB_MYSQL_HOST: "npm-db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      # Uncomment the line below if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'
    volumes:
      - volume1/docker/nginx/data:/data
      - volume1/docker/nginx/letsencrypt:/etc/letsencrypt
    depends_on:
      - npm-db
    networks:
      - npm-nw
      - npm-internal

  npm-db:
    image: 'mariadb:latest'
    container_name: npm-db
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - volume1/docker/nginx/data/mysql:/var/lib/mysql
    networks:
      - npm-internal

networks:
  npm-internal:
  npm-nw:
    external: true

AdGuard Home

Cómo instalar AdGuard Home en Synology
Guía detallada para instalar AdGuard Home en un NAS Synology. Además, añade un plus de privacidad y déjalo configurado con todos tus dispositivos con un router Asus.
version: '3.3'
services:
    adguardhome:
        container_name: adguard
        environment:
            - TZ=Europe/Madrid
        volumes:
            - '/volume1/docker/adguard/config:/opt/adguardhome/conf'
            - '/volume1/docker/adguard/data:/opt/adguardhome/work/data'
        network_mode: host
        restart: always
        image: adguard/adguardhome

WireGuard

Cómo instalar e integrar WireGuard, Pi-Hole y DNSCrypt en nuestro NAS
Guía detallada para instalar la VPN WireGuard en tu NAS Synology además de integrarse con Pi-Hole y tener una navegación segura , limpia y ultrarápida.
version: "3.8"
services:
  wg-easy:
    environment:
      # ⚠️ Required:
      # Change this to your host's public address
      - WG_HOST=tuddns #ponemos nuestro DDNS sin puerto

      # Optional:
      - PASSWORD=tuPassword #la password superefectiva
      - WG_PORT=51820
      - WG_DEFAULT_ADDRESS=10.9.1.x # Puedes cambiar el rango, pero deja el ultimo como x
      - WG_DEFAULT_DNS=IPdetuNAS #IP de tu nas para que actue Pihole
      - WG_MTU=1420
      - WG_ALLOWED_IPS=0.0.0.0/0, 192.168.x.x/24 #el valor de la red 192.168.x.x es opcional, ponlo si no puedes acceder a tus direcciones internas
      - WG_PERSISTENT_KEEPALIVE=25

    image: weejewel/wg-easy
    container_name: wg-easy
    volumes:
      - /volume1/docker/wg-easy:/etc/wireguard
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    restart: always
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1

Pi-Hole

version: '3.7'

#volumes:
#  etc_pihole-unbound:
#  etc_pihole_dnsmasq-unbound:

services:
  pihole:
    container_name: pihole_oficial
    image: pihole/pihole:latest
    network_mode: host
    hostname: pihole_oficial
    dns:
      -  # IP DEL NAS
    ports:
      - 443:443/tcp
      - 54:54/tcp
      - 54:54/udp
      - 80:80/tcp
    environment:
      ServerIP:  #IP DEL NAS
      TZ: Europe/Madrid # la zona horaria donde vivas
      WEBPASSWORD:  # LA PASSWORD Q QUIERAS
      WEB_PORT: 4321
      DNS1: 127.0.0.1#5335 # Hardcoded to our Unbound server
      DNS2: 127.0.0.1#5335 # Hardcoded to our Unbound server
      DNSSEC: "true" # Enable DNSSEC
    volumes:
      - /volume1/docker/pihole-unbound/dnsmasq.d-configs:/etc/dnsmasq.d:rw
      - /volume1/docker/pihole-unbound/pihole-configs:/etc/pihole:rw
      - /volume1/docker/pihole-unbound/dns/config/resolv.conf:/etc/resolv.conf:rw
    restart: always