19 / 22
Apr 2020

Hi trucktor,

Ralf hat eine Anleitung geschrieben:

Bitte schau mal ob du damit zurecht kommst. Und berichte hier bitte unbedingt!

Gruß
Stefan

Hallo Stefan, hallo Ralf,

vielen Dank für die Anleitung, die bis zum letzten Punkt sauber durchlief. Bei dem Befehl:

ash-4.3# docker-compose logs -f
Attaching to egroupware-nginx, egroupware, egroupware-watchtower, egroupware-db
egroupware-nginx | WARNING: no logs are available with the ‘db’ log driver
egroupware | WARNING: no logs are available with the ‘db’ log driver
egroupware-watchtower | WARNING: no logs are available with the ‘db’ log driver
egroupware-db | WARNING: no logs are available with the ‘db’ log driver
exit
egroupware exited with code 1
egroupware | WARNING: no logs are available with the ‘db’ log driver
egroupware exited with code 1
egroupware | WARNING: no logs are available with the ‘db’ log driver
egroupware exited with code 1
egroupware | WARNING: no logs are available with the ‘db’ log driver
egroupware exited with code 1
egroupware | WARNING: no logs are available with the ‘db’ log driver
egroupware exited with code 1
egroupware | WARNING: no logs are available with the ‘db’ log driver
egroupware exited with code 1
egroupware | WARNING: no logs are available with the ‘db’ log driver
egroupware exited with code 1
egroupware | WARNING: no logs are available with the ‘db’ log driver
egroupware exited with code 1
egroupware | WARNING: no logs are available with the ‘db’ log driver
egroupware exited with code 1
egroupware | WARNING: no logs are available with the ‘db’ log driver
^CERROR: Aborting.

Daraufhin habe ich alle egw Docker neu gestartet:


die jetzt auch kontinuierlich durchlaufen.

der Aufruf 192.168.40.40:8080 (=Synology Diskstation) setzt die Adresse um in
192.168.40.40/egroupware/index.php, der Bildschirm zeigt einen Fehler 500 “Bei der Verarbeitung dieser Anforderung ist ein Fehler aufgetreten.”

Das hatte ich glaube ich auch, hat aber nix mit EGroupware sondern mit dem Synology Docker Paket zu tun.

Bei einem 500ter gilt auch bei Docker das gleich wie bisher, in das Webserver Log schauen, welcher Fehler dort gemeldet wird (siehe https://github.com/EGroupware/egroupware/wiki/19.1--Installation-using-egroupware-docker-RPM-DEB-package#how-to-view-error-log-of-the-webserver):

docker logs -f egroupware-nginx 2>&1 | sed 's/PHP message/\nPHP message/g'

Ralf

Das Ergebnis der Abfrage ist:

ash-4.3# docker logs -f egroupware-nginx 2>&1 | sed 's/PHP message/\nPHP message/g’
2020/01/08 20:13:50 [emerg] 1#1: host not found in upstream “egroupware:9000” in /etc/nginx/conf.d/default.conf:8
nginx: [emerg] host not found in upstream “egroupware:9000” in /etc/nginx/conf.d/default.conf:8
2020/01/08 20:14:10 [emerg] 1#1: host not found in upstream “egroupware:9000” in /etc/nginx/conf.d/default.conf:8
nginx: [emerg] host not found in upstream “egroupware:9000” in /etc/nginx/conf.d/default.conf:8

It could also be, that EGroupware was not started when Nginx was started, as it resolves DNS at (re-)start-time, not at request-time. Thought nginx services is listed as depends_on egroupware service in our docker-compose.yml4.

Only time I seen this is when stoping and starting just the EGroupware container through docker and not docker-compose.

Ralf

Ein reiner Neustart der Synology Diskstation hat nichts gebracht.
Auch ein separater Neustart des egroupware Containers über die Docker-Console führten trotzdem zum Fehler 500. Einen neuen Eintrag im log gibt es nicht.

2020/01/08 20:13:50 [emerg] 1#1: host not found in upstream “egroupware:9000” in /etc/nginx/conf.d/default.conf:8
nginx: [emerg] host not found in upstream “egroupware:9000” in /etc/nginx/conf.d/default.conf:8
2020/01/08 20:14:10 [emerg] 1#1: host not found in upstream “egroupware:9000” in /etc/nginx/conf.d/default.conf:8
nginx: [emerg] host not found in upstream “egroupware:9000” in /etc/nginx/conf.d/default.conf:8

Hier noch der Status über docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
58d68d5a9757 nginx:stable-alpine “nginx -g 'daemon of…” 19 hours ago Up 4 hours 0.0.0.0:8080->80/tcp, 0.0.0.0:4443->443/tcp egroupware-nginx
8e478e1f8740 egroupware/egroupware:latest “/entrypoint.sh php-…” 19 hours ago Up 39 minutes 9000/tcp egroupware
accc8fdc57b6 containrrr/watchtower “/watchtower --sched…” 19 hours ago Up 4 hours egroupware-watchtower
28a0155d18c7 mariadb “docker-entrypoint.s…” 19 hours ago Up 4 hours 3306/tcp egroupware-db

Poste mal das komplette docker-compose.yml und das komplete Log von docker-compose logs.

Das sieht merkwürdig aus, da EGroupware seit 39min läuft und Nginx seit 4h, aber Nginx immer erst nach EGroupware starten soll, damit es nicht zu dem Problem kommt, das du hast.

Ralf

bin in der egroupwae-docker-install.log
über diesen Eintrag gestolpert:

Installation failed --> exiting!

Retrying EGroupware installation in 3 seconds …
/usr/bin/php7.3 -d memory_limit=-1 /usr/share/egroupware/setup/setup-cli.php --setup-cmd-database sub_command=create_db ‘domain=default’ ‘db_type=mysqli’ ‘db_host=db’ ‘db_port=3306’ ‘db_name=egroupware’ ‘db_user=egroupware’ ‘db_pass=LrGJT-t4s4Pq(9)m’ ‘db_root=root’ ‘db_root_pw=secret’ 'db_grant_host=172.%'
Can not connect to mysqli database mysql on host db:3306 using user root! (ADOdb::Connect(db:3306, root, $Password, mysql) failed.)

Im Installationsprozess kam keine Eingabemöglichkeit zur PW Eingabe. An welcher Stelle hätte dies sein sollen, bez. wo und wie kann man das im Nachgang ändern ?

Also das initiale root Password der MariaDB steht in der docker-compose.yml:


Allerdings hilft das nicht, wenn die Datenbank schon angelegt wurde, dann kannst Du nur das db Volume löschen:

docker-compose stop
docker-compose rm -f db
docker volume ls
docker volume rm $(docker volume ls|grep db|cut -c21-)

Falls Dich das default root Passwort nicht stört, kann man auch nachträglich ändern, kannst Du auch einfach die header.inc.php löschen und die EGroupware Datenbank droppen:

docker-compose stop egroupware
rm -f data/header.inc.php
docker-compose exec -it db mysql -uroot -psecret --execute "drop database egroupware"
docker-compose up -d

Ralf

Hallo Ralf,
vielen Dank.
Um die Funktion zu testen, werde ich die 2te Variante heute abend probieren.

Da voraussichtich im März 2020 das neue Betriebssystem DSM7.0 für die Diskstation erscheinen soll, möchte ich die DS eh komplett neu aufsetzen.
Damit verbunden ist dann auch das Neuaufsetzen von EGW. Für meine eigene Doku würde ich gerne noch wissen, wo docker-compose.yml vor der Installation von mir bezüglich des PW änderbar ist.

Danke im Voraus.

Die Frage verstehe ich jetzt nicht?
Ich habe Dir die zu ändernden Zeilen für das root Passwort doch geschickt.

Man kann in der docker-compose.yml noch mehr ändern, dafür gibt es darin ziemlich viele Komentare die erläutern was man ändern kann.

Ralf

sorry, da habe ich mich falsch ausgedrückt.
An welcher Stelle im Installationsprozess habe ich die Möglichkeit, die docker-compse.yml zu verändern ?
Aber die Anwort ist klar, habe da nicht aufgepasst.

für alle, die den gleichen Gedankenfehler haben:
An der Stelle, an der per
mkdir /etc/egroupware-docker und cd /etc/egroupware-docker wird anschließend per curl https://........
die Datei auf den Rechner geladen.
Hier ist der Moment, an dem man mittels eines Editors die docker-compose.yml verändern kann.
Erst mit dem Befehl docker-compose up -d wird der Installationsprozess gestartet.

3 months later

Hallo,
gibt es für dieses Problem eine weiterführende Lösung? In meiner neuen Installation stoße ich auf die gleichen Probleme und komme nicht weiter. EGW kann scheinbar nicht auf die DB zugreifen und erzeugt bei mir die gleichen, oben schon genannten Fehler.

Philipp

Hallo Philipp.

Es wäre besser, wenn du einen eigenes Thema aufmachst. Beschreibe deine Umgebung, was du gemacht hast und die Stelle, an der du hängst. Dann haben andere eine Chance dir zu folgen.
Auf dieses Thema hier kann du einfach verlinken: kopiere den Weblink in dein Thema.

Vielleicht hilft dir:


Stefan

Hallo Stefan, danke für die Antwort.
ich habe die gleiche Umgebung wie truckthor und hänge an der gleichen Stelle. Die Installation läuft soweit durch, aber EGW nicht erreichbar. Ich bekomme die gleichen Fehlermeldungen im Log

ich habe mittlerweile alles versucht. Unter anderem die docker-compose so umzuschreiben, dass EGW die interne DB benutzt. Aber leider ohne Erfolg.

Hallo Philipp,
leider nein. Komme mit der Installation auf der Syno nicht weiter. EGroupware läuft derzeit auf einem Linux-Rechner recht stabil und kann es so nutzen. Ist aber nicht die Endlösung.

Danke für die Info. Bin jetzt auch auf ein anderes System umgestiegen. Allerdings bekomme ich hier jetzt Probleme mit SSL. Aber dafür mache ich ein neues Thema auf.

LG Philipp