Inicio Tutorial: Configurar OMV6 en mini pc chino
Artículo
Cancelar

Tutorial: Configurar OMV6 en mini pc chino

Configuraciones recomendadas

Una vez hemos instalado OpenMediaVault en nuestro PC, lo primero que debemos hacer es cambiar la contraseña del administrador. Para hacemos click en el botón de configuración y click en “Cambiar contraseña”.

Menú cambiar contraseña Menú cambiar contraseña

Posteriormente nos aparecerá un formulario para cambiar la contraseña.

Formulario para cambiar contraseña del usuario admin Formulario para cambiar contraseña del usuario admin

En Sistema > Área de trabajo podemos poner la opción “Salir automáticamente” a 1 dia y podemos activar la SSL/TLS habilitado.

En Red > Interfaces > Propiedades avanzadas añadimos 8.8.8.8 a los “Servidores DNS” para no tener problemas con los nombres de dominio.

Servidores DNS Servidores DNS

Instalar Docker y Portainer

Abrimos PuTTy, añadimos la dirección IP y hacemos click en “Open”.

Cargar sesión con PuTTy en Windows 10 Cargar sesión con PuTTy en Windows 10

Una vez hagamos login deberemos ver un terminal como este. En mi caso he ejecutado la instrucción neofetch para que podáis ver las características de mi mini PC.

Sesión SSH con PuTTy Sesión SSH con PuTTy

Con la siguiente instrucción instalamos los plugins extras de OMV:

1
root@nipogi:~# wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash

Una vez instalado y tras actualizar la interfaz web deberá aparecer el siguiente menú:

Nuevo menú de omv-extras Nuevo menú de omv-extras

En Plugins instalamos el plugin “openmediavault-flashmemory” para limitar las escrituras en las memorias flash y SSD.

En Plugins instalamos el plugin “openmediavault-resetperms” para resetar los permisos de manera cómoda.

En “omv-extras” > “Opciones” activamos los backports para que se descarguen los drivers más modernos.

Activación de los backports Activación de los backports

Vamos a “omv-extras” > “Docker” y hacemos click en el botón de “Instalar”:

Instalar Docker Instalar Docker

Como resultado deberemos ver algo como esto:

Docker instalado Docker instalado

Vamos a “omv-extras” > “Portainer” y hacemos click en el botón de “Instalar”:

Instalar Portainer Instalar Portainer

Como resultado deberemos ver algo como esto:

Portainer instalado Portainer instalado

Y si vamos a “<tudireccionIP>:9000” podrás acceder a la interfaz web de Portanier. Introducimos la contraseña para el usuario “admin”.

Interfaz web de Portainer: Primer login Interfaz web de Portainer: Primer login

Y vemos que ya tenemos nuestro primer contenedor funcionando.

Interfaz web de Portainer Interfaz web de Portainer

Instalar fail2ban

Instalamos fail2ban:

1
2
3
# apt update
# apt upgrade
# apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common vim fail2ban ntfs-3g

Con esto vale, pero podemos configurarlo para que sea mas agresivo en el fichero de configuración /etc/fail2ban/jail.conf. En el apartado [sshd] añadir lo siguiente:

1
2
bantime = 86400
maxretry = 4

Instalar Duckdns en Docker

Ir a la web de Duck DNS y registrate y deberás poder registrar subdominios. Pon especial atención al token que es el que tendrás que añadir en el fichero del docker-compose.

Página web de Duck DNS Página web de Duck DNS

En Portainer ir a “Stacks” > “Add stack” y pega los siguiente teniendo en cuenta tus propios datos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: "2"
services:
  duckdns:
    image: linuxserver/duckdns
    container_name: duckdns
    environment:
      - PUID=997 # modificar si no eres yo
      - PGID=100 # modificar si no eres yo
      - TZ=Europe/Madrid
      - SUBDOMAINS=chiricloud,chiricode,chirihop,chirinas,chiriplex
      - TOKEN=<tuTokenDeDuckDns> # modificar
      - LOG_FILE=false
    volumes:
      - /srv/dev-disk-by-uuid-7ba5953f-3094-44b9-9875-98f1dac73873/elements1/duckdns/config:/config # modificar si no eres yo
    restart: unless-stopped

Instalar Transmission en Docker

Esta es la plantilla:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
---
version: "2.1"
services:
  transmission:
    image: lscr.io/linuxserver/transmission
    container_name: transmission
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - USER=username #optional
      - PASS=password #optional
      - WHITELIST=iplist #optional
      - PEERPORT=peerport #optional
      - HOST_WHITELIST=dnsnane list #optional
    volumes:
      - <path to data>:/config
      - <path to downloads>:/downloads
      - <path to watch folder>:/watch
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    restart: unless-stopped

Este es mi documento sin el usuario y contraseña:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
---
version: "2.1"
services:
  transmission:
    image: lscr.io/linuxserver/transmission
    container_name: transmission
    environment:
      - PUID=997 # modificar si no eres yo
      - PGID=100 # modificar si no eres yo
      - TZ=Europe/Madrid
      - TRANSMISSION_WEB_HOME=/combustion-release/
      - USER=<username> # modificar
      - PASS=<password> # modificar
    volumes:
      - /srv/dev-disk-by-uuid-7ba5953f-3094-44b9-9875-98f1dac73873/elements1/transmission/config:/config # modificar si no eres yo
      - /srv/dev-disk-by-uuid-7ba5953f-3094-44b9-9875-98f1dac73873/elements1/downloads:/downloads # modificar si no eres yo
      - /srv/dev-disk-by-uuid-7ba5953f-3094-44b9-9875-98f1dac73873/elements1/transmission/watch:/watch # modificar si no eres yo
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    restart: unless-stopped

Para obtener el PUID y el PGID deberemos conectarnos por ssh y ejecutar el siguiente comando:

1
2
# id admin
uid=997(admin) gid=100(users) groups=100(users),996(openmediavault-admin)

Con este texto vamos a nipogi:9000 > local > Stacks > Add Stack. Le damos el nombre de “transmission” y lo copiamos.

Si, en mi caso, voy a ``nipogi:9091` veré lo que hay a continuación:

Interfaz web de Transmission Interfaz web de Transmission

Hacemos la prueba para añadir un torrent:

Interfaz web de Transmission: Añadir torrent Interfaz web de Transmission: Añadir torrent

Interfaz web de Transmission: Torrent descargando Interfaz web de Transmission: Torrent descargando

Montar un servicio Plex

Del Official Docker container for Plex Media Server he obtenido la siguiente plantilla:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
version: '2'
services:
  plex:
    container_name: plex
    image: plexinc/pms-docker
    restart: unless-stopped
    ports:
      - 32400:32400/tcp
      - 3005:3005/tcp
      - 8324:8324/tcp
      - 32469:32469/tcp
      - 1900:1900/udp
      - 32410:32410/udp
      - 32412:32412/udp
      - 32413:32413/udp
      - 32414:32414/udp
    environment:
      - TZ=<timezone>
      - PLEX_CLAIM=<claimToken>
      - ADVERTISE_IP=http://<hostIPAddress>:32400/
    hostname: <hostname>
    volumes:
      - <path/to/plex/database>:/config
      - <path/to/transcode/temp>:/transcode
      - <path/to/media>:/data

Vamos a “Stacks” > “Add stack” y en el editor web copiamos lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
version: '2'
services:
  plex:
    container_name: plex
    image: plexinc/pms-docker
    restart: unless-stopped
    ports:
      - 32400:32400/tcp
      - 3005:3005/tcp
      - 8324:8324/tcp
      - 32469:32469/tcp
      - 1900:1900/udp
      - 32410:32410/udp
      - 32412:32412/udp
      - 32413:32413/udp
      - 32414:32414/udp
    environment:
      - TZ=Europe/Madrid
      - PLEX_CLAIM=<claimToken> # modificar
      - ADVERTISE_IP=http://192.168.1.146:32400/ # modificar si no eres yo
      - PLEX_UID=997 # modificar si no eres yo
      - PLEX_GID=100 # modificar si no eres yo
    hostname: nipogi # modificar si no eres yo
    volumes:
      - /srv/dev-disk-by-uuid-7ba5953f-3094-44b9-9875-98f1dac73873/elements1/config:/config # modificar si no eres yo
      - /srv/dev-disk-by-uuid-7ba5953f-3094-44b9-9875-98f1dac73873/elements1/transcode:/transcode # modificar si no eres yo
      - /srv/dev-disk-by-uuid-7ba5953f-3094-44b9-9875-98f1dac73873/elements1/downloads:/data # modificar si no eres yo

El token lo puedes obtener desde este enlace.

Montar un servicio SMB/SAMBA

Vamos a SMB/CIFS > Compartidos:

Menú SMB/CIFS Menú SMB/CIFS

Hacemos click en “Crear”:

Carpetas compartidas a través de SMB/SAMBA en el explorador de archivos de Windows Botón crear carpeta compartida en SMB

Seleccionamos:

  • Shared folder: La carpeta compartida que queramos compartir por SMB. En mi caso, elements1.
  • Público: Invitado solamente.

Configuración de la carpeta compartida SMB Configuración de la carpeta compartida SMB

Una vez hecho esto podemos ir al explorador de archivos de Windows > Red > NIPOGI (en mi caso) > elements1

Carpetas compartidas a través de SMB/SAMBA en el explorador de archivos de Windows Carpetas compartidas a través de SMB/SAMBA en el explorador de archivos de Windows

Montar un servicio FTP

Para descargar ficheros de las carpetas compartidas podemos usar el protocolo FTP que da más posibilidades que SMB.

Primero, habilitamos la carpeta compartida en Servicios > FTP > Compartidos > Crear como se ve en la siguiente Figura:

Habilitar carpeta compartida a través del servicio FTP Habilitar carpeta compartida a través del servicio FTP

Segundo, vamos a Almacenamiento > Carpetas Compartidas > Click en la carpeta compartida que hemos creado previamente y hacemos click en el botón de Privilegios como se ve a continuación:

Botón para editar los privilegios de la carpeta compartida para el servicio FTP Botón para editar los privilegios de la carpeta compartida para el servicio FTP

Damos todos los permisos a los usuarios que hemos creado para no tener ningún problema.

Privilegios para no tener problemas con el servicio FTP Privilegios para no tener problemas con el servicio FTP

En la configuración de ACL deberemos utilizar el grupo users (PGID = 100) con todos los permisos para que todos los usuarios que pertenezcan a este grupo no tengan problemas con los permisos:

Botón para editar las ACL Botón para editar las ACL

![Permisos para la carpeta compartida elements1](/assets/img/tutorial-configurar-omv6/permisosAcl.png Permisos para la carpeta compartida elements1

Montar copia de seguridad diaria con Rsync

Vamos a Servicios > Rsync > Tareas y creamos una nueva. Una vez hecho debería aparecer algo como lo de la siguiente Figura:

Copia de seguridad a la 1:10 cada dia con Rsync Copia de seguridad a la 1:10 cada dia con Rsync

Configurar router

Accedemos al router a través de su dirección IP, normalmente es la primera disponible, es decir, 192.168.1.1. Por lo tanto ponemos esta dirección IP en nuestro navegador y nos aparecerá un login:

Interfaz web del router: Login Interfaz web del router: Login

Reenvío de puertos

Una vez en la interfaz web del router deberemos buscar la opción de “Reenvío de puertos” o “Port forwarding” que es la opción que se encarga de enlazar los puertos públicos con los puertos de una máquina de la red local, en este caso, el mini PC.

Como podemos ver en la siguiente Figura, yo tengo abiertos los puertos de Portainer, FTP, SSH, HTTP y HTTPS.

Interfaz web del router: Port forwarding o reenvío de puertos Interfaz web del router: Port forwarding o reenvío de puertos

⚠ Importante: Cuando nos conectemos a través de Internet debes evitar usar protocolos no seguros como FTP o HTTP. En lugar de estos deberás usar FTPS, SFTP y/o HTTPS.

Hacer fija la IP local del mini PC

Para no tener problemas con el reenvío de puertos es recomendable hacer que la IP local del mini PC sea fija. En mi caso yo voy a la información del mini PC y reservo dicha dirección IP. En la siguiente Figura se ve el resultado final.

Interfaz web del router: Device info o información del dispositivo Interfaz web del router: Device info o información del dispositivo

Bibliografía

Este artículo está licenciado bajo CC BY 4.0 por el autor.

Análisis, desarrollo y prueba de aplicaciones

Atajos de teclado para Windows y GNU Linux