Nube privada para documentos personales con Nextcloud y OnlyOffice

Escrito por picodotdev el .
planeta-codigo software software-libre
Enlace permanente Comentarios

Empresas como Google ofrecen servicios gratuitos que los usuarios pueden utilizar, algunos de ellos a cambio de entregrarles documentos con información personal con la consiguiente potencial pérdida de privacidad. Algunos de estos servicios son sustituibles con alternativas como Nextcloud y OnlyOffice que permiten a sus usuarios ser dueños de su información ya sea utilizando una Raspberry Pi como servidor que debe ser administrada o incluso en la nube con servicios como DigitalOcean o AWS.

Una cuenta de Google da acceso a múltiples servicios gratuitos, útiles y con un servicio más que correcto. Algunas de estos servicios está el de correo electrónico de GMail, la sincronización y unidad de documentos de Google Drive, calendario para apuntar citas y recordatorios con Google Calendar, el acceso a la suite ofimática colaborativa Google Docs o fotos con Google Photos. Estos son los servicios que uso de Google por su comodidad.

Los servicios en la nube permiten guardar los documentos e información fuera del dispositivo donde se usen, esto permite tener sincronizados y compartir todos los documentos entre varios dispositivos como el ordenador personal en casa, tener disponibles los documentos en el ordenador del trabajo y en un dispositivo móvil como un smartphone en cualquier lugar. El problema de los servicios en la nube es que no somos realmente propietarios de nuestra información y documentos, son entregados a esos servicios como los de Google, esto genera una pérdida de privacidad sin ser conscientes de los usos que le pueda dar Google. Para proteger nuestra privacidad hay alternativas para disponer de nuestra propia nube que proporcione la mayoría de estos servicios.

Nextcloud es un software que permite alojar en nuestro propio servidor nuestros documentos sustituyendo a varios de los servicios de Google. Nextcloud permite almacenar archivos y documentos ofimáticos, fotos, música, calendarios, un visor de PDF, editor de markdown, gestor de tareas o nuestros contactos. Permite complementos con los que añadir las funcionalidad que necesitemos como un reproductor de música o un paquete ofimático con OnlyOffice que sustituya a Google Docs.

Una Raspberry Pi 4 o una de sus 7 computadoras alternativas similares es una buena opción como servidor por su pequeño tamaño, bajo consumo, totalmente silencioso con un recomendable disipador pasivo y suficiente para ejecutar con normalidad Nexcloud con los 4 GiB de memoria del modelo con más capacidad. Hay otras placas similares o incluso se puede utilizar un Intel NUC que permiten más cantidad de memoria y sus procesadores son más capaces. Para una nube privada una Raspberry Pi es interesante por su pequeño tamaño y bajo consumo eléctrico dado que su funcionamiento sería constante.

Usando Docker y el repositorio de GitHub es sencillo iniciar el servidor de Nextcloud realizando los siguientes pasos.

  • Instalar Docker.
  • Descargar o clonar el repositorio de GitHub.
  • Iniciar con Docker Compose los contenedores de Nextcloud y OnlyOffice.
  • Acceder http://localhost y realizar la configuración incial, introducir el usuario y contraseña de administrador.
  • Ejecutar bash set_configuration.sh.
  • Añadir el complemento de OnlyOffice.
  • Acceder a http://localhost.

Este archivo de Docker Compose incluye Nextcloud con OnlyOffice sin usar una base de datos externa.

 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
version: '3'
services:
  app:
    container_name: app-server
    image: nextcloud:fpm
    stdin_open: true
    tty: true
    restart: always
    expose:
      - '80'
      - '9000'
    volumes:
      - app_data:/var/www/html
  onlyoffice-document-server:
    container_name: onlyoffice-document-server
    image: onlyoffice/documentserver:latest
    stdin_open: true
    tty: true
    restart: always
    expose:
      - '80'
      - '443'
    volumes:
      - document_data:/var/www/onlyoffice/Data
      - document_log:/var/log/onlyoffice
  nginx:
    container_name: nginx-server
    image: nginx
    stdin_open: true
    tty: true
    restart: always
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - app_data:/var/www/html
volumes:
  document_data:
  document_log:
  app_data:
  mysql_data:
docker-compose.yml
1
$ docker-compose up
docker-compose-up.sh

Configuración y archivos en Nextcloud

OnlyOffice es un paquete ofimático alternativa a Microsoft Office que ofrece un editor de documentos de texto, una hoja de cálculo y una aplicación para realizar presentaciones integrables en Nextcloud. Son aplicaciones con menos opciones que las ofrecidas por Microsoft Office pero suficientes para un uso sencillo, también dispone de una versión como aplicaciones de escritorio.

Ofimática con OnlyOffice y Nextcloud alternativa a Google Docs

Otras utilidades es un reproductor de música, calendario o galería de fotos, hay un complemento para añadir estas funcionalidades.

Aplicaciones y complementos

Con WebDAV los documentos son accesibles como si fuese una unidad local proporcionando la misma funcionalidad de Google Drive. En GNOME con el explorador de archivos Nautilus es posible conectarse a dispositivo WebDAV, en el caso de Nextcloud la dirección es dav://localhost/remote.php/dav/files/admin.

Archivos en el explorador de archivos Nautilus con WebDAV y opciones de administración

Con las aplicaciones para smatphone los documentos quedan accesibles en cualquier lugar teniendo un dispositivo móvil, smartphone o tableta. Tener una nube propia que esté accesible en internet hace necesario tener un dominio propio, añadir seguridad para lo que es necesario configurar Nextcloud de modo que utilice el protocolo seguro que cifre las comunicaciones con TLS, esto requiere obtener un certificado autofirmado al menos o mejor obteniendolo de Let's Encrypt, que proporciona certificados de forma automatizada y gratuita. Otra medida para aumentar la seguridad es utilizar un segundo factor de autenticación o 2FA.

Hay ejemplo de archivo de Docker Compose para tener Nexcloud con un certificado creado y renovado de forma automática con Let's Encrypt a través del contenedor jrcs/letsencrypt-nginx-proxy-companion y configurando las variables de entorno LETSENCRYPT_HOST, LETSENCRYPT_EMAIL con el dominio propio para Nexcloud y un correo electrónico.