Ta trouvé NicCo ?
Sinon je m'y prendrai comme ça :
mkdir -p /srv/docker.app/nextcloud
cd /srv/docker.app/nextcloud
nano db.env
MYSQL_PASSWORD=supersecurepassword
MYSQL_DATABASE=nextcloud
MYSQL_USER=nextcloud
nano docker-compose.yml
version: '3'
services:
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=supersecuremysqlrootpassworddifferentthanmysqlpassword
env_file:
- db.env
redis:
image: redis
restart: always
app:
build: ./app
restart: always
ports:
- 127.0.0.1:5678:80
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_HOST=db
env_file:
- db.env
depends_on:
- db
- redis
cron:
build: ./app
restart: always
volumes:
- nextcloud:/var/www/html
entrypoint: /cron.sh
depends_on:
- db
- redis
volumes:
db:
nextcloud:
mkdir app ; cd app ; nano Dockerfile
FROM nextcloud:apache
COPY redis.config.php /usr/src/nextcloud/config/redis.config.php
nano redis.config.php
<?php
$CONFIG = array (
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'redis',
'port' => 6379,
),
);
cd /srv/docker.app/nextcloud
docker-compose up -d
Et pour finir, le vhost nginx :
server {
server_name nextcloud.domain.tld;
root /var/www/html;
index index.html;
location / {
proxy_pass http://localhost:5678/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
client_max_body_size 0;
access_log /var/log/nginx/nextcloud-access.log combined;
error_log /var/log/nginx/nextcloud-error.log error;
}
location /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}
location /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}
listen 443 ssl http2;
ssl on;
ssl_dhparam /etc/nginx/ssl/dhparams.pem;
ssl_certificate /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;
}
server {
if ($host = nextcloud.domain.tld) {
return 301 https://$host$request_uri;
}
listen 80;
listen [::]:80;
server_name nextcloud.domain.tld;
return 404;
}
nginx -t
-> si tout ok -> /etc/init.d/nginx restart
Pour update nextcloud :
/usr/local/bin/docker-compose stop ; /usr/local/bin/docker-compose rm --force ; /usr/local/bin/docker-compose pull ; /usr/local/bin/docker-compose build --pull ; /usr/local/bin/docker-compose up -d