Hi Nextcloudies,
ich möchte Nextcloud im Docker-Container hinter einem Nginx-Reverse-Proxy-Container mit Letsencrypt betreiben. ZusÀtzlich bedient der Reverse-Proxy auch einen Pihole- und einen Portainer-Container. Pihole und Portainer laufen einwandfrei und Portainer bescheinigt mir, dass alle Container laufen. Leider kann ich aber Nextcloud im Browser nicht aufrufen, ich erhalte immer eine Fehlerseite von Nginx: 500 Interner Server Fehler.
Da Pihole und Portainer funktioniern und ich sie auch aufrufen kann, sollte der Reverse-Proxy-Container korrekt funktionieren. Ich vermute den Fehler also in der docker-compose.yml fĂŒr Nextcloud.
Ich habe selbstverstĂ€ndlich schon reichlich gegoogelt und meine docker-compose.yml mit drei anderen Beispielen aus dem Internet verglichen. Aus meiner Sicht gibt es aber keine Unterschiede, die das Verhalten meiner Nextcloud-Installation erklĂ€ren wĂŒrden. Deshalb suche ich nun Hilfe im Forum.
Kann sich bitte mal jemand meine beiden docker-compose-Files (fĂŒr den Proxy und fĂŒr Nextcloud) ansehen und mir den entscheidenden Hinweis geben?
Zur ErklĂ€rung: ich verwende nicht den ânormalenâ Docker-Container mit Apache-Server, sondern bewusst einen Container ohne Apache, so dass ein zusĂ€tzlicher Nginx-Container gestartet werden soll.
Wahrscheinlich liegt hierbei irgendwo der Fehler in der compose-Datei, aber ich sehe ihn nicht.
Habe soeben zur Kenntnis nehmen dĂŒrfen, dass ich als Neuling keine Dateien anhĂ€ngen darf, also muss ich deren Inhalte hier posten:
docker-compose-proxy-server
version: '3.7'
networks:
ext:
volumes:
certs:
vhosts:
html:
services:
hostproxy:
image: jwilder/nginx-proxy
container_name: hostproxy
hostname: hostproxy
labels:
- com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy
restart:
always
networks:
- ext
ports:
- 80:80
- 443:443
volumes:
- certs:/etc/nginx/certs:ro
- vhosts:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
environment:
- HTTPS_METHOD=nohttp
nginx-letsencrypt-companion:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: letsencrypt
hostname: letsencrypt
restart: always
depends_on:
- hostproxy
networks:
- ext
volumes:
- certs:/etc/nginx/certs
- /var/run/docker.sock:/var/run/docker.sock:ro
- vhosts:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
docker-compose-nextcloud:
version: '3.7'
volumes:
mdb_data:
nextcloud_config:
nextcloud_html:
nextcloud_data:
web_conf:
services:
db:
image: mariadb:10.5.13
container_name: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- mdb_data:/var/lib/mysql
networks:
- default
environment:
MYSQL_ROOT_PASSWORD: 'Root_PASSWORD'
MYSQL_PASSWORD: 'MYSQL_PASSWORD'
MYSQL_DATABASE: nextcloud_db
MYSQL_USER: db_user
redis:
image: redis:alpine
container_name: redis
restart: always
networks:
- default
nextcloud:
image: nextcloud:fpm-alpine
container_name: nextcloud
restart: always
volumes:
- nextcloud_config:/var/www/html/config
- nextcloud_html:/var/www/html
- nextcloud_data:/var/www/html/data
networks:
- hostproxy_ext
- default
environment:
NEXTCLOUD_DATA_DIR: /var/www/html/data
NEXTCLOUD_ADMIN_USER: onit
NEXTCLOUD_ADMIN_PASSWORD: 'nextcloud_passwort'
MYSQL_PASSWORD: 'MYSQL_PASSWORD'
MYSQL_DATABASE: nextcloud_db
MYSQL_USER: db_user
MYSQL_HOST: db
REDIS_HOST: redis
depends_on:
- db
- redis
web:
image: nginx:latest
restart: always
volumes:
- web_conf:/etc/nginx
- nextcloud_html:/var/www/html:ro
environment:
VIRTUAL_HOST: nextcloud.meinedomain.de
LETSENCRYPT_HOST: nextcloud.meinedomain.de
LETSENCRYPT_EMAIL: user@email.com
depends_on:
- nextcloud
networks:
- hostproxy_ext
- default
networks:
hostproxy_ext:
external: true
name: hostproxy_ext