OpenMediaVault: Nextcloud con Docker

2019-05-03

Índice

  1. Preparación del entorno
  2. Instalación MariaDB
  3. Configuración de MariaDB
  4. Instalación de Nextcloud
  5. Configuración Nextcloud

Podemos instalar Nextcloud a travós del plugin que nos proporciona OpenMediaVault, pero tambión a travós de Docker, utilizando un contenedor para la base de datos MariaDB y otro para Nextcloud, que desde mi percepción considero que va ligeramente mas rápido.

Preparación del entorno

En este articulo vimos como instalar file:3][Docker]] en OpenMediaVault, para unificar futuras instalaciones de nuevos contenedores para docker, vamos a compartir una carpeta llamada Dockers, donde creamos otra carpeta llamada Config para guardar los ficheros de configuración de los contenedores y otra llamada AppData para guardar los ficheros de datos de los contenedores.

img

Dentro de la carpeta Config creamos una carpeta llamada Nextcloud

img

En en la carpeta AppData crearemos las carpetas Nextcloud y Nextclouddb

img

Instalación MariaDB

Con el entorno configurado procedemos a buscar y descargar la imagen para crear el contenedor, desde la sección Docker buscamos la imagen y descargamos MariaDB, busca por en los repositorios de lsioarm

img

Descargada la imagen de MariaDB, la ejecutamos para empezar a configurar el contenedor

img

Elegimos un nombre para el contenedor (Nextclouddb), con Restart Policy indicamos si el contenedor se iniciara de forma automática (Always) cuando arranque el sistema, en el campo Modo de Red podemos cambiar los puertos de conexión de MariaDB, si lo dejas en Hosts se utilizaran los puertos por defecto.

img

Es el momento de configurar las variables de entorno para ejecutar el contenedor con un usuario que tenga acceso a las carpetas que configuramos anteriormente, lo hacemos mediante las variables PUID y PGID. Para saber que id utilizar desde la terminal del servidor teclea id nombre de usuario

root@OMV1:~# id carlos
uid=1000(carlos) gid=100(users) groups=100(users)
root@OMV1:~#

carlos es el usuario que tenemos creado dento de OpenMediaVault (poner enlace a samba)

Tambión configuramos las zona horaria, en mi caso Europe/Madrid

img

Ahora configuramos la contraseña de acceso para el usuario root para la administración de MariaDB mediante la la variable MYSQLROOTPASSWORD

img

Es el turno de configurar donde se almacenaran los ficheros de configuración del contenedor

img

Como vimos en el primer apartado de este articulo los ficheros de configuración los guardaremos en la carpeta Nextclouddb

img

Para terminar salvamos los cambios y esperamos a que el contenedor se inicie

img

Configuración de MariaDB

Tenemos que configurar y crear una base de datos para Nextcloud, tenemos que conectarnos a la terminal del servidor y nos situamos en el directorio de configuración de MariaDB, Nextclouddb

Rockpro64 pasa al punto 2

ssh [email protected]

root@OMV1# cd /sharedfolders/Dockers/AppData/Nextclouddb/

Vamos a editar el fichero custom.conf

root@OMV1:/sharedfolders/Dockers/AppData/Nextclouddb# ls -la

total 20

drwxrwsr-x+ 4 carlos users 4096 Oct 10 01:10 .

drwxrwsr-x+ 4 carlos users 4096 Oct 10 00:59 ..

-rw-r--r--+ 1 carlos users 3754 Oct 10 01:10 custom.cnf

drwxrwsr-x+ 4 carlos users 4096 Oct 10 01:10 databases

drwxrwsr-x+ 3 carlos users 4096 Oct 10 01:10 log

root@OMV1:/sharedfolders/Dockers/AppData/Nextclouddb#

Utiliza tu editor preferido para modificar el fichero

nano ./nano custom.cnf

Descomentamos el campo bind-address=0.0.0.0

#
# Allow server to accept connections on all interfaces.
#

bind-address=0.0.0.0

#
# Optional setting
#wsrep_slave_threads=1
#innodb_flush_log_at_trx_commit=0

Reiniciamos el contenedor

docker restart nextclouddb
  1. Accedemos a la shell del contenedor

    root@OMV:/sharedfolders/Docker/AppData/Nextclouddb# docker exec -it nextclouddb bash

Vamos a crear la base de datos para Nextcloud, no conectamos con el usuario root y la contraseña que usamos en la variable MYSQLROOTPASSWORD

root@3c2849bd713e:/# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 3

Server version: 10.0.34-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04


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



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

Creamos un usuario para administrador la base de datos que vamos a crear

MariaDB [(none)]> CREATE USER 'usuario' IDENTIFIED BY 'contraseña';

Query OK, 0 rows affected (0.00 sec)

Creamos la base de datos

MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS nextcloud;

 Query OK, 1 row affected (0.00 sec)

Le damos permisos de administrador al usuario que acabamos de crear

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'usuario' IDENTIFIED BY 'contraseña';

Query OK, 0 rows affected (0.01 sec)

Actualizamos los privilegios

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

Salimos de MariaDB

MariaDB [(none)]> quit

Bye

Salimos de la shell del contenedor

root@OMV1:/# exit

exit

root@OMV1:/sharedfolders/Dockers/AppData/Nextclouddb#

Ahora ya tenemos configurado MariaDB para trabajar con Nextcloud

Instalación de Nextcloud

Desde la sección Docker buscamos la imagen y descargamos Nextcloud, busca por en los repositorios de lsioarm

img

Una vez bajada la imagen, la ejecutamos para empezar a configurar el contenedor

img

Elegimos un nombre para el contenedor (Nextcloud), Restart Policy indica que el contenedor se iniciara de forma automática (Always) cuando arranque el sistema, en el campo Modo de Red podemos cambiar los puertos de conexión de Nextcloud, si lo dejas en Hosts se utilizaran los puertos por defecto (80 y 443).

img

La datos de configuración (config) los guardamos en la carpeta /Nextcloud dentro de Config

img

img

Y los datos en la carpeta Nextcloud dentro de AppData

img

Finalmente salvamos los cambios y esperamos a que se inicie el contenedor. En la Raspberry Pi la primera vez llevara algunos minutos

El contenedor de Nextcloud ya viene instalado con su propio certificado autofirmado SSL

img

Configuración Nextcloud

Una una vez iniciado el contenedor, la primera vez que accedemos a Nextcloud debemos configurarlo para use MariaDB en vez de Sqlite

img

Accedemos con la cuenta del usuario y contraseña que creamos en MariaDB para la administración de la base de datos Nextcloud

img

El nombre de la base de datos es nextcloud (es el nombre que le dimos en MariaDB) y la dirección de nuestro servidor, 192.168.1.3, y continuamos con la instalación

img

Listo, ya tenemos Nextcloud en tu servido file:1][OpenMediaVault]]

img

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


Ingrese la dirección de su instancia