OpenMediaVault: Nextcloud con Docker

· ☕ 5 min lectura · ✍️ [Carlos M.]

Introducción

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 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.

Dentro de la carpeta Config creamos una carpeta llamada Nextcloud

En en la carpeta AppData crearemos las carpetas Nextcloud y
Nextclouddb

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

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

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.

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

1
2
3
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

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

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

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

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

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

1
2
3
ssh root@192.168.1.3

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

​Vamos a editar el fichero custom.conf

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
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

1
nano ./nano custom.cnf

​Descomentamos el campo bind-address=0.0.0.0

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#
# 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

1
docker restart nextclouddb

​2. Accedemos a la shell del contenedor

1
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
MYSQL_ROOT_PASSWORD

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
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

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

Query OK, 0 rows affected (0.00 sec)

​Creamos la base de datos

1
2
3
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

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

Query OK, 0 rows affected (0.01 sec)

​Actualizamos los privilegios

1
2
3
4

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

​Salimos de MariaDB

1
2
3
4

MariaDB [(none)]> quit

Bye

​Salimos de la shell del contenedor

1
2
3
4
5
6

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

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

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).

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

Y los datos en la carpeta Nextcloud dentro de AppData

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

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

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

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

Listo, ya tenemos Nextcloud en tu servido OpenMediaVault

Espero que te hya gustado, pasa un buen día…

Compartir en
Apoya al autor con

Hefistion
ESCRITO POR
[Carlos M.]