Ir al contenido
  1. Publicaciones/

Rockpro64: Así es mi NAS

··1335 palabras·7 mins

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 #

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 #

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

Carpetas Compartidas #

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.

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

Dockers #

Gracias a docker, tengo instalados los siguientes servicios

Jackett #

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

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.

Enlace del contenedor:

Lidarr #

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

Enlace del contenedor:

Nextcloud #

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

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.

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)

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.

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/

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.

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.

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.

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.

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.

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

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

Como has podido leer, con un poco de tiempo y ganas puedes tener un NAS con multitud de servicios que poco tiene que envidiar a otros de marca, y por mucho menos dinero.

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