Criar o banco
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'%' IDENTIFIED BY '<Senha>';
FLUSH PRIVILEGES;
Criar area de Storage dos dados no servidor
# mount -t cifs //PATH/TO/DATA /SHARE/LOCAL -o username=user,password=<Senha>,domain=local.domain
# vi /etc/fstab
//PATH/TO/DATA /SHARE/LOCAL cifs auto,rw,user,noperm,dir_mode=0770,file_mode=0770,username=<user>,password=<Senha>,domain=local.domain 0 0
OBS.: O parametro noperm libera o acesso ao outros usuarios no Linux.
Deploy NextCloud
$ mkdir /SHARE/LOCAL/NextCloud
$ cat deploy_nextcloud.sh
#!/bin/sh
docker stop NextCloud && \
docker rm NextCloud && \
docker rmi nextcloud:latest
#docker system prune --all --volumes --force
docker run --name NextCloud -t \
-e MYSQL_HOST="<IP_SERVER>" \
-e MYSQL_DATABASE="nextcloud" \
-e MYSQL_USER="nextcloud" \
-e MYSQL_PASSWORD="<Senha>" \
-p 8082:80 \
--restart unless-stopped \
-v /SHARE/LOCAL/NextCloud:/var/www/html \
-v /etc/localtime:/etc/localtime:ro \
-d nextcloud:latest
Em desenvolvimento
$ mkdir -p /home/suporte/nextcloud /home/suporte/nextcloud/apps /home/suporte/nextcloud/config /home/suporte/nextcloud/theme /home/suporte/nextcloud/data
$ docker run --name NextCloud -t \
-e MYSQL_HOST="<IP_SERVER>" \
-e MYSQL_DATABASE="nextcloud" \
-e MYSQL_USER="nextcloud" \
-e MYSQL_PASSWORD="<Senha>" \
-e NEXTCLOUD_TRUSTED_DOMAINS="<IP> <IP>:<PORT> nuvem.domain.com" \
-e NEXTCLOUD_DATA_DIR="/path/storage/nextcloud_data" \
-p 8082:80 \
--restart unless-stopped \
-v /home/suporte/nextcloud:/var/www/html \
-v /etc/localtime:/etc/localtime:ro \
-d nextcloud:latest
Duvidas
NEXTCLOUD_DATA_DIR conflita com -v /home/suporte/nextcloud:/var/www/html ????????
Sem arquivos no DATA pode somar 1.4GB
-v /home/suporte/nextcloud:/var/www/html \
-v /home/suporte/nextcloud/apps:/var/www/html/custom_apps \
-v /home/suporte/nextcloud/config:/var/www/html/config \
-v /home/suporte/nextcloud/data:/var/www/html/data \
-v /home/suporte/nextcloud/theme:/var/www/html/themes/<YOUR_CUSTOM_THEME> \
-e TZ=America/Sao_Paulo
OU
-v /etc/localtime:/etc/localtime:ro
-v /etc/timezone:/etc/timezone:ro
Edite o "trusted_domains" configurando em config/config.php
'trusted_domains' =>
array (
0 => '<IP_INTERNO>:<PORT>',
1 => 'nuvem.domain.com.br',
),