[Nextcloud Docker] avec webroot et reverse proxy
Publié : sam. 29 mai 2021, 10:59
Bonjour,
Je rencontre quelques difficultés à faire fonctionner le Docker officiel Nextcloud avec une modification du webroot (
Je sais que le reverse proxy fonctionne car j'ai une autre application qui l'utilise et ne rencontre pas de difficultés.
Ci-dessous le docker-compose de Nextcloud :
Nota : le réseau 'net' est celui du reverse proxy.
Ensuite j'ai utilisé le fichier nginx.conf disponible en exemple sur le Git de Nextcloud https://github.com/nextcloud/docker/blo ... nginx.conf.
Puis enfin coté reverse proxy, j'ai un fichier default_location dans le répertoire vhost.d avec :
Je parviens à afficher la page de login de Nextcloud, mais ensuite lorsque j'essaye de me loguer pour créer un administrateur, je reste bloqué sur cette page. Je pense que l'anomalie est due au changement de webroot (/nextcloud/) et au fichier nginx.conf qui lui est prévue pour un fonctionnement sous "/". Malheureusement, mes connaissances ne me permettent pas de comprendre comment modifier ce fichier "nginx.conf".
Toute aide serait la bienvenue.
Merci d'avance.
Cordialement.
Je rencontre quelques difficultés à faire fonctionner le Docker officiel Nextcloud avec une modification du webroot (
https://mondomaine/nextcloud/
au lieu de https://mondomaine/
) et derrière un reverse proxy (jwilder/nginx-proxy).Je sais que le reverse proxy fonctionne car j'ai une autre application qui l'utilise et ne rencontre pas de difficultés.
Ci-dessous le docker-compose de Nextcloud :
Code : Tout sélectionner
version: '2'
services:
db:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_PASSWORD=password
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
networks: ["common"]
app:
image: nextcloud:fpm
restart: always
links:
- db
volumes:
- ./nextcloud:/var/www/html
environment:
- MYSQL_PASSWORD=password
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
- OVERWRITEHOST=mondomaine
- OVERWRITEWEBROOT=/nextcloud
- NEXTCLOUD_TRUSTED_DOMAINS=mondomaine
networks: ["common"]
web:
image: nginx
restart: always
ports:
- 3080:80
links:
- app
environment:
- LETSENCRYPT_HOST=mondomaine
- LETSENCRYPT_EMAIL=monadresse
- VIRTUAL_HOST=mondomaine
- VIRTUAL_PORT=3080
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
volumes_from:
- app
networks: ["net", "common"]
volumes:
nextcloud:
db:
networks:
net:
external: true
common:
Ensuite j'ai utilisé le fichier nginx.conf disponible en exemple sur le Git de Nextcloud https://github.com/nextcloud/docker/blo ... nginx.conf.
Puis enfin coté reverse proxy, j'ai un fichier default_location dans le répertoire vhost.d avec :
Code : Tout sélectionner
location /nextcloud/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://nextcloud-docker_web_1/;
break;
}
Toute aide serait la bienvenue.
Merci d'avance.
Cordialement.