22 - Tu propia nube en una Raspberry Pi con NextCloudPi
¿Quieres tener tu propia nube en una Raspberry?¿Quieres tener tu propia aplicación de contactos o agenda?¿Quieres gestionar todo tu información?
En el episodio 17 del podcast, sobre el mejor cliente de Google Drive para Linux, ya te comenté los problemas que había tenido con otro servicio de alojamiento y hospedaje en la nube. En particular hablaba sobre Dropbox, y un problema de seguridad con mi cuenta. Lo cierto es que terminaron por acceder a mi cuenta. No se exactamente que es lo que hicieron con ella, y posteriormente me la devolvieron. Sin embargo, como te puedes imaginar, se me quedó una sensación de indefensión brutal. A raíz de eso decidí cifrar algunos directorios, y los sincronizaba una vez cifrados. Con lo cual, la protección es mucho mayor. Pero hay otra solución, y es tener tu propia nube. Y voy mas allá, puedes tener tu propia nube en una Raspberry Pi.
Evidentemente, el problema de tener tu propia nube en una Raspberry Pi, es el rendimiento de la misma, y que tienes que llevar tu el mantenimiento. Si, sois muchos los que accedéis a la misma, pues el rendimiento de la misma, dejará mucho que desear. Sin embargo, si es para ti y tu mujer, y no hacéis un uso intensivo, probablemente no tengáis problemas. Como siempre, todo depende del uso que le vayais a dar.
Por último,y antes de meternos en faena, te diría que si con esta solución todavía no estás tranquilo, siempre puedes tomar lo mejor de cada casa. Es decir, que cifrar los directorios con contenido sensible, y por otro lado, tener tu propia nube en una Raspberry Pi… aunque a lo mejor esto es demasiado exagerado.
Tu propia nube en una Raspberry Pi
La semana pasada publiqué un artículo sobre bloquear accesos a tu servidor, utilizando Fail2ban. En este artículo, Nacho, al que agracezco su comentario, indicaba de una solución que permitía instalar tu propia nube en una Raspberry Pi con NextCloud. Se trata de NextCloudPi.
NextCloudPi
¿Que es NextCloudPi? Se trata de una distribución basada en Raspbian 9 strech, pensada para utilizar en un SBC Single Board Computer, como puede ser perfectamente una Raspberry Pi. Aunque puede soportar otras SBC. Se trata de una distribución desarrollada y pensada para utilizar NextCloud de forma sencilla. Tiene la ventaja de que no necesita grandes conocimientos técnicos, pero que te permite instalar todo lo necesario para tener un tu propia nube en una Raspberry Pi con garantías.
Por otro lado, tal y como comenté en el artículo sobre Raspberry desde USB, creo necesario realizar la instalación utilizando esta posibilidad. De esta manera, NextCloud funcionará de forma fluida. Y tu tendrás una buena experiencia de usuario. En otro caso, es posible que te suceda como a mi, es decir, que no te termine de convencer. Desde luego, fué en el momento en el que la instalé en el USB, en el que empecé a disfrutar realmente de NextCloud.
¿Que trae NextCloud?
Como ya te puedes imaginar, esta imagen de NextCloud, viene con todo el software necesario instalado sobre Raspbian, es decir, tenemos,
- Apache
- PHP
- MariaDB
- Nextcloud
En mi caso, la versión de NextCloud era la 14, y como he comentado anteriormente, he tenido una buena experiencia de usuario.
Pero si trajera solo esto, no sería nada del otro mundo. La cuestión, es que además de estos básicos, también trae algunos extras que por un lado nos facilitarán la configuración de nuestra propia nube en la Raspberry Pi, y por otro nos la asegurarán. Así por ejemplo,
- Preparado para utilizar fácilmente con servicios DDNS (Dinamic DNS), como puede ser Duck DNS sobre el que escribí un artículo una puerta a tu Raspberry teniendo IP dinámica. Esto te va a permitir acceder desde fuera de tu casa… algo fundamental para esto.
- NFS (Network File System)
- SSH
- UFW (Uncomplicated Firewal) sobre el que escribí recientemente un artículo Como proteger tu servidor
- DNS Masq (Servidor DNS con cache)
- fail2ban precisamente el origen de este nuevo podcast, y sobre el que hablo en el artículo Bloquear accesos indeseables en tu servidor
- Let’s Encrypt, sobre el que también comento en el artículo Let’s Encrypt en tu VPS
- Automontar unidades USB
- Actualizaciones automáticas de NextCloud con la posibilidad de que te avise
- Actualizaciones automáticas de NextCloudPi
- Copias de seguridad de forma periódica
- Posibilidad de importar y exportar la configuración
- Opciones para formatear un USB directamente desde NextCloudPi
- Posibilidad ede configurar los puertos del Router utilizando UPnP, aunque recomienda que lo desactives una vez lo tengas configurado
- Monitorización de la salud del disco duro en caso de que lo tengas conectado
- Posibilidad de forzar el redireccionamiento HTTPS
- Reiniciar NextCloudPi a los valores iniciales
- Hacer sincronizaciones periódicas utilizando rsync
- Escaneo periódicos en busca de archivos modificados externamente
- Snapshots programados
- Y mucho mas
La ventaja es que todo esto lo puedes configurar directamente desde un interfaz web, de forma sencilla, y sin que te tengas que preocupar prácticamente de nada. Por esta razón, te digo, que no necesitas grandes conocimientos técnicos. Ni siquera es necesario enfrentarse al terminal. Directamente desde https://nextcloudpi.local:4443
Sobre la instalación
Como he comentado, la instalación es realmente sencilla. Solo tienes que seguir unos pocos pasos para tener tu propia nube en tu Raspberry Pi. Lo primero y principal, es que descargues la imagen de NextCloudPi desde la página web. A continuación tienes que quemar en una tarjeta micro SD o mejor en un USB, como comento en el artículo que he mencionado antes, sobre Raspberry desde USB.
Una vez que tengas el USB con la imagen, tienes que modificar un par de cosillas, como indico en el artículo anterior para poder acceder directamente vía WiFi, sin necesidad de que tengas que acceder vía SSH.
A partir de ahí todo es coser y cantar…. Lo primero es que desde un navegador vayas a la dirección. https://tuIP:4443
. Como los certificados son autofirmados te saldrá el famoso mensaje de que el sitio no es seguro… no te preocupes, es el tuyo. Pulsa el botón Avanzado y luego el botón Añadir excepción.
Llegarás a una página que te preguntará por tu usuario y contraseña. Por defecto para nuevas instalaciones el usuario es ncp y la contraseña ownyourbits.
En esta página puedes configurar todos los servicios que ido mencionando anteriormente. Todo de forma gráfica y muy, pero que muy sencillo.
Una vez terminado accede a tu nube desde casa con https://nextcloudpi.local o desde fuera con la dirección que hayas configurado.
¿Que vas a encontrar en tu propia nube con NextCloud?
La primera vez que accedas a NextCloud, encontrarás las siguientes aplicaciones y herramientas,
- Un gestor de archivos y de sincronizción
- Una aplicación de contactos y otra de calendario que te permite soncronizarlo con tu Android o iOs o con Thunderbird
- Una aplicación para tomar notas
Además he empezado a instalar y probar muchas de las aplicaciones que están disponibles desde el repositorio de aplicaciones de NextCloud
- Así he probado un tablero Kanban
- PhoneTrack
- Mind Map
- Markdown Editor
- Random Background Unsplash
- Draw.io (integración) diagrams de flujo
Como ves es algo realmente sencillo de instalar y utilizar. Si tienes una Raspberry y quieres tener tu nube, es una solución muy a tener en cuenta, dadas las facilidades que ofrece.
Conclusiones
Sin lugar a dudas, mi recomendación es que te compres una Raspberry Pi, si tienes la posibilidad. Que pruebes el funcionamiento de NextCloud, y que disfrutes. Pero sobre todo que experimentes. Realmente, es como mas vas a prender, y de la forma que mas partido le vas a sacar.
¿En cuanto a las posibilidades de que esta sea tu propia nube en la Raspberry? Tal y como te he indicado anteriormente, dependerá muy mucho, del uso que le vayas a dar. Pero con independecia de todo, lo mejor es que lo pruebes tu mismo, experimentes y lo disfrutes.