Rockpro64: Así es mi NAS

2019-06-03

Índice

  1. Sistema Operativo: OpenMediaVault
    1. Plugins OpenMediaVault
      1. openmediavault-flashmemory
      2. openmediavault-remotemount
      3. openmediavault-diskstats
      4. openmediavault-fail2ban
      5. openmediavault-apttool
      6. openmediavault-omvextrasorg
      7. openmediavault-theme
      8. openmediavault-rsnapshot
      9. openmediavault-docker-ui
    2. Sistemas de Archivos
    3. Punto de montaje remoto
    4. Carpetas Compartidas
  2. Backups
  3. Dockers
    1. Jackett
    2. Medusa
    3. Lidarr
    4. Nextcloud
    5. Mariadb
    6. Letsencrypt
    7. TT-RSS
    8. Syncthing
    9. Duckdns
    10. Duplicati
    11. Bitwarden
    12. Airsonic
    13. Jellyfin
    14. Watchtower
  4. Tareas Programadas
  5. Recursos utilizados
  6. Otros

Despuós de tantos artículos y guías me he dado cuenta que quizás se haya perdido un poco la perspectiva de lo que realmente puedes llegar a tener con una simple placa arm. En el siguiente articulo pretendo reflejar lo que actualmente es mi NAS, una placa rockpro64 con 4GB de memoria RAM, una tarjeta eMMC de 16GB para el sistema operativo, dos discos duros mecánicos conectados a la placa y OpenMediaVault como sistema operativo.

Sistema Operativo: OpenMediaVault

Despuós de valorar mis necesidades y probar varias opciones, mi opción fue OpenMediaVault, ya que no requiere de grandes recursos para poder funcionar, estable, escalable mediante la instalación de plugins y un buen soporte.

La instalación la he realizado sobre la tarjeta eMMC de 16GB, para ello seguí el siguiente tutorial

https://forum.pine64.org/showthread.php?tid=4924

Plugins OpenMediaVault

img

Paso a describir os plugins que utilizo

openmediavault-flashmemory

Viene instalado por defecto, folder2ram administra el sistema de archivos temporales durante los reinicios, disminuye las escrituras en la tarjeta eMMC.

openmediavault-remotemount

Monta recursos compartidos por red como un sistema local. En mi caso, comparto un disco USB conectado al router, que suelo utilizar para almacenar las de descargas realizadas con transmission

https://elblogdelazaro.org/posts/2019-02-18-montar-sistema-de-archivos-remoto/ https://elblogdelazaro.org/posts/2018-05-31-openwrt-transmission/

openmediavault-diskstats

Monitoriza los discos para ofrecernos estadísticas.

openmediavault-fail2ban

Fail2ban escanea los archivos de registro y prohíbe las IP que muestran signos maliciosos: demasiadas errores de contraseña, búsqueda de vulnerabilidades, etc.

Escribí un articulo sobre esto https://elblogdelazaro.org/posts/2017-10-05-fail2ban-raspberry/

openmediavault-apttool

Encuentra, instala y elimina paquetes en repositorios apt. Exporta e importa lista de paquetes.

openmediavault-omvextrasorg

Permite habilitar múltiples repositorios alojados en omv-extras.org.

openmediavault-theme

Permite el cambio de tema para la GUI. Su instalación se hace mediante un paquete .deb https://github.com/virgil-av/openmediavault-theme

openmediavault-rsnapshot

Para realizar backups incrementales, de los dos discos que tengo instalados uno lo utilizo para almacenar datos y multimedia y el otro lo utilizo para almacenar los backups de los datos, que realizo con este plugin.

openmediavault-docker-ui

Plugin para poder ejecutar contenedores de docker, y como leerás mas tarde, nos va a permitir tener multitud de servicios de una forma rápida y sencilla.

Te dejo el enlace sobre su instalación https://elblogdelazaro.org/posts/2019-03-04-openmediavault_docker_y_contenedores/

Sistemas de Archivos

img

dev/mmcblk1p1 ext4 utilizado para la instalacion de OMV /dev/sda1 Data ext4 Almacenar datos y multimedia /dev/sdb1 Backups ext4 Almacenar copias de seguridad de /sda1 /srv/72e… wrt-usb3 cifs Disco USB conectado al router, para descargas

Punto de montaje remoto

Monto el disco USB del router como un sistema de ficheros local llamado wrt3200

img

Carpetas Compartidas

img

Creo las siguientes carpetas para ayudarme a organizarme

  • Backups: Hace referencia a una carpeta llamada Backups en /dev/sdb1, donde almaceno las copias de seguridad realizadas mediante el plugin rsnapshot

  • Datos: Hace referencia a una carpeta llamada Datos en dev/sda1, qye mantengo sincronizado los datos de mi ordenador portátil mediante el contenedor de /syncthing.

  • Hace referencia a una carpeta llamada Datos en /dev/sda1, que mantengo sincronizado los datos de mi ordenador portatil mediante qel contenedor de /syncthing

  • Descargas: Hace referencia a la carpeta Completados dentro del punto de montaje remoto wrt3200

  • Dockers: Hace referencia a la carpeta Docker dentro de dev/sda1, utilizado para guardar los datos de configuración de los /dockers que instalo.

  • Media: Hace referencia a la carpeta Media dentro de /dev/sda1, donde almaceno contenido multimedia, como fotografías, vídeos, películas series de tv, música, etc.

img

Backups

Para mis copias de seguridad utilizo el plugin rsnapshot, de forma que realizo copias incrementales de las carpetas compartidas Datos, Media (menos las series de tv y películas) y de los archivos de configuración de los contenedores instalados, carpeta Dockers

img

img

Dockers

Gracias a docker, tengo instalados los siguientes servicios

img

img

Jackett

Es un indexador de torrents en diferentes trackers, es utilizado por otros programas para buscar y descargar torrents

img

Enlace del contenedor:

Medusa

Medusa es un programa que descarga tus series de TV favoritas, luego los procesa y almacena en tu biblioteca. Todo está totalmente automatizado. Lo podemos configurar junto a Jackett para que tan pronto como se publique un nuevo episodio empiece su descarga.

img

Enlace del contenedor:

Lidarr

Al igual que Medusa pero aplicado a tu colección de musica

img

Enlace del contenedor:

Nextcloud

Tu propia nube privada al estilo dropbox, poco puedo decir que ya no sepas.

img

Enlace del contenedor:

Mariadb

Base de datos utulizada por Nextcloud, tt-rss, etc.

user@rockpro64:~$ sudo docker exec -it mariadb /bin/bash
[sudo] password for user:
root@rockpro64:/#
root@rockpro64:/#
root@rockpro64:/# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 527
Server version: 10.3.15-MariaDB-1:10.3.15+maria~bionic mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| nextcloud          |
| performance_schema |
| ttrss              |
+--------------------+
5 rows in set (0.033 sec)

Enlace del contenedor:

Letsencrypt

Contenedor que nos permite gestionar (crear o renovar) los certificados proporcionados por Letsencrypt de forma automática, además lo podemos utilizar como proxy inverso para acceder a Nextcloud, Plex, Tiny Tiny RSS, etc.

img

Enlace del contenedor:

TT-RSS

Tiny Tiny RSS es un agregador de fuentes de noticias (RSS/Atom) de código abierto basado en web, diseñado para permitirle leer noticias desde cualquier ubicación, de tal modo que le parecerá estar utilizando lo más parecido a la aplicación de un escritorio real.(arch-wiki)

img

Enlace del contenedor:

Syncthing

Syncthing es una aplicación cliente/servidor de sincronización de archivos de código abierto, lo utilizo para sincronizar los datos de mi ordenador portátil con el NAS.

img

Enlace del contenedor:

Duckdns

Duckdns es un servicio gratuito que apuntará un DNS (subdominios de duckdns.org) a una IP. El servicio es completamente gratuito y no requiere reactivación ni publicaciones en el foro para mantener su existencia.

El contenedor irá actualizando la dirección IP publica de mi router y la asociará al nombre de dominio de Duckdns elegido.

https://elblogdelazaro.org/posts/2019-04-19-openmediavault_ddns_mediante_docker_y_duckdns/

img

Enlace del contenedor:

Duplicati

Lo utilizo como tercera copia de seguridad cifrada de mis datos en nubes públicas, mando mis copias cifradas a Google Drive, Mega y hubiC.

img

Enlace del contenedor:

Bitwarden

Gestor de contraseñas OpenSource, como alternativa a Lastpass o 1Password almacena las claves en bases de datos cifradas con un algoritmo AES de 256 bits, hash salteado y PBKDF2 SHA-25. Tiene clientes para Android, iOS, Windows, Linux y extensiones para los principales navegadores Web.

Permite compartir parte de tus claves con otros usuarios autorizados y dados de alta en el servidor.

img

Enlace del contenedor:

Airsonic

Airsonic es un servidor multimedia, basado en la web, que proporciona acceso a tu música. Ideal para compartir tu música con amigos, o para escuchar tu propia música mientras trabaja. Puede transmitir a múltiples usuarios simultáneamente.

img

Enlace del contenedor:

Jellyfin

Fork de Emby, Jellyfin es un servidor multimedia gratuito que te permite controlar y transmitir tus medios. Es una alternativa para Emby y Plex, que es software propietario. No hay cadenas adjuntas, ni licencias, ni funciones premium, ni agendas ocultas.

img

Enlace del contenedor:

Watchtower

Actualiza de forma automática las imágenes de los contenedores

Escribí una articulo sobre su instalación y funcionamiento https://elblogdelazaro.org/posts/2018-09-12-actualiza-automaticamente-tus-contenedores-docker/

Enlace del contenedor:

Tareas Programadas

Utilizo las tareas programadas para parar los contenedores de docker por la noche y arrancarlos por la mañana, limpiar las imágenes antiguas de los dockers actualizados, programar la publicación de artículos, etc.

img

Recursos utilizados

Cuando me planteó sustituir la Raspberry Pi por otra placa mas potente, era consciente que iba a necesitar bastante memoria RAM por la cantidad de dockers que iba utilizar y con 2GB me iba a ir algo justo, ahora mismo puedes ver como se mantiene “ocupada”" la placa

img

Otros

Tambión he tenido OpenMediaVault como un servidor/cliente de OpenVPN, pero al final me decidí por utilizar Wireguard en el lado del router

Espero que te haya gustado, pasa un buen día. 🐧


Ingrese la dirección de su instancia