OpenMediaVault: Nextcloud con Docker
2019-05-03
Índice
- Preparación del entorno
- Instalación MariaDB
- Configuración de MariaDB
- Instalación de Nextcloud
- 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.
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
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 MYSQLROOTPASSWORD
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
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
-
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
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 file:1][OpenMediaVault]]
Espero que te haya gustado, pasa un buen día. 🐧