Rockpro64: Así es mi NAS
2019-06-03
Índice
- Sistema Operativo: OpenMediaVault
- Backups
- Dockers
- Tareas Programadas
- Recursos utilizados
- 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
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
Espero que te haya gustado, pasa un buen día. 🐧