Bugs & Probleme in edulution.io

Hallo @Maurice!
ich habe bereits beim ersten Upgrade von V1.0 auf 1.1 ganz neu angefangen und alles neu gemacht.

Dieses Mal habe ich von V1.1 auf V1.2 zunächst wieder den offiziell gedachten Weg gewählt, nämlich den üblichen Dreischritt

docker compose down
docker compose pull
docker compose up -d

Damit war ich auf Version 1.2 und ich wüsste nicht, was daran falsch gewesen sein könnte?

Dass die ldap-Anfragen am Server auftauchen und die CPU-Last hochfährt, beobachte ja nicht nur ich. Das Thema wurde hier im Forum erst kürzlich diskutiert. Die beste Erklärung hat bisher @Raphael hier geliefert:

Mir ist nicht klar, warum nicht alle davon betroffen sind?? Die Lösung, um die es im Parallelthread geht, ist offenbar „nur“ für Linux-Clients und nicht für den Samba-Server selbst gedacht. Daher ist das Problem für mich weiterhin ungelöst.

Das gleiche Problem tritt hier jedenfalls auch auf dem Mail-Server auf, der zusammen mit linuxmuster-mailcow jede Nacht die Postfächer synchronisiert (python3 syncer.py). Wenn er das macht, geht die CPU-Last für den Prozess „samba (ldap)“ auf dem v7-Server ebenfalls auf 100% Last hoch und bleibt auch dort, bis der Prozess durchgelaufen ist. Daher habe ich die Zeit zwischen zwei Zyklen dort schon hochgedreht, damit das nur noch einmal am Tag passiert.

Von daher: Wenn jemand eine Idee hat, woran das liegen könnte, wäre ich natürlich für jeden Hinweis dankbar. Die Zugriffe vom edulution-Server können auf der OPNSense-FW jedenfalls hier beobachtet werden:


Wäre schön, wenn da mal jemand nachsehen könnte.

Viele Grüße,
Michael

Hi Michael,

Daran ist nichts falsch. Ich gehe aber dennoch davon aus, dass bei dir was nicht stimmt. Das hier zu debuggen wird lange dauern, daher der Vorschlag.

Das LDAP Problem wie du es beschreibst mit linuxmuster-mailcow und co sollte in einem anderen Thread bearbeitet werden.

Liebe Grüße, Maurice

Hallo an alle und v.a. @Maurice1,

wie ist denn der vorgeschlagene Weg, um dem traefik von Edulution ein lets encrypt Zertifikat (am liebsten per DNS Challenge) zu verpassen und das ganze dann zu automatisieren?
Ich bekomme da schon was gebastelt aber schöner wäre doch, das könnte man irgendwie in der compose Datei des Traefik erledigen. Leider bin ich ein docker noop.#

Danke schon Mal für Anregungen.

Dominik

Hallo @Michael ,

funktioniert das bei dir noch unter der 1.2er Version?

Ich habe mit per acme.sh und dns-challenge ein Zertifikat geholt. Dann ein Volume angelegt. Die Zertifikate kommen auch im traefik container an. Dann habe ich die entsprechende yml Datei angelegt. Leider verwendet traefik diese Zertifikate aber nicht. Als Fehler beim start des Traefik containers kommt:

ERR Unable to append certificate -----BEGIN CERTIFICATE REQUEST-----
ZERTIFIKAT...
-----END CERTIFICATE REQUEST-----
 to store error="unable to generate TLS certificate : tls: failed to find \"CERTIFICATE\" PEM block in certificate input after skipping PEM blocks of the following types: [CERTIFICATE REQUEST]" tlsStoreName=default

Das verstehe ich überhaupt nicht? Hast du eine Idee?

VG

Dominik

Hallo Dominik,
bisher habe ich nur das Update auf v1.2 gemacht und keine Schwierigkeiten mit dem LE-Cert bemerkt. Wie das aussieht, wenn das Zertifikat abgelaufen und erneuert werden muss, steht aber nochmal auf einem anderen Blatt.
Im Moment ist mein größeres Problem, dass der Server das oben verlinkte CPU-Problem zeigt. Das muss offenbar leider zuerst gelöst werden …
Viele Grüße,
Michael

Hallo Dominik,

die Meldung verstehe ich so: Es wird versucht, in der Datei ein Zertifikat zu finden. Dabei werden etwaige Requests, die vielleicht auch noch in der Datei stecken, übersprungen.

Es wird auch ein Request gefunden, danach aber kein Zertifikat.

Ist das vielleicht die CSR-Datei und nicht das Zertifikat? Diewird eigentlich gar nicht benötigt, sondern nur das Zertifikat. In der Datei sollte also stehen -----BEGIN CERTIFICATE----- – also ohne das REQUEST.

Beste Grüße

Jörg

Hi @foer,

ab der 1.2 sollte bei einer Neuinstallation LE nicht nur für die Services sondern auch für edu selbst erstellt werden. Das scheint bei dir nicht der fall zu sein ?

LG, Maurice

Hallo @Maurice1,

nein, das ist nicht der Fall bei mir gewesen, obwohl ich neu installiert habe. Ich habe zwar gesehen, dass es in der Docker Compose wohl ein neues Volume dazu gibt aber erstellt wurde nichts. Ich finde aber auch rein gar nichts dazu in irgendwelchen configs von traefik!?
Ich habe jetzt aber das Problem für mich mal „per Hand gelöst“ gelöst. Der Hinweis von @jrichter hat mich auf die richtige Spur gebracht…acme.sh hatte ein „kaputtes“ Zertifikat erstellt…Danke dafür!

LG
Dominik

Update: @Maurice1 ich kann gerne alles Mögliche testen wenn ich soll…Edulution läuft hier jetzt erst mal nur im Testbetrieb…

Mir geht es wie @foer .
Eine Neuinstallation mit 1.2 hat mir keine LE Zertifikate erstellt und ich finde keinen Ansatz in den configs von traefik.
Kann hier jemand Tipps fürs Troubleshooting beisteuern?

Die Edulution UI greift über 10.0.0.1 auf den LMN Server zu. Haken dort ist grün.
UI funktioniert soweit, nur als Zertifikat wird das „TRAEFIK DEFAULT CERT“ ausgeliefert.

Hallo.
Noch eine Rückmeldung zum Login über edulution an keycloak. Wenn man weiß wie, funktioniert der Login als User.
Allerdings dürfen alle User viel zu viele Dinge sehen, die sie nichts angehen. Das muss unbedingt abgestellt werden!


Viele Grüße,
Michael

Hallo Michael,

vielen Dank für die Info. Ist im Update 1.2.27 behoben.

Beste Grüße
Michael Dold

Hi Daniel,

der Installer war bislang noch nicht aktualisiert. Das wurde nun nachgeholt, und bei Neuinstallationen wird Let’s Encrypt jetzt automatisch eingerichtet.

LG; Maurice

Hallo Michael @eldoldo ,
ich habe das Ugrade auf 1.2.27 gerade installiert. Lief auch durch … allerdings ist das Problem noch nicht behoben. Der Screenshot aus #50 sieht noch genauso aus. Die User dürfen auch weiterhin viel zu viel sehen. Ich nehme stark an, dass das diese Einstellungen sind:

Bevor ich da aber auf „Unassign“ klicke, wüsste ich natürlich gerne, ob das tasächlich die richtige Stelle ist :thinking: :interrobang:
Viele Grüße,
Michael

Hab das Edulution Installationsskript gestern in ner 7.2 LMN Umgebung installiert.
Installation hat wunderbar funktioniert. Aber ein kleinen Stolperstein gabs doch.
der Textbaustein für den webinstaller


edulution erreichbar unter …


kam nicht, bzw. erst zu spät, weil in der VM wurde angezeigt
INFO … unicorn hört auf 0.0.0.0:8000

und das hat erstmal bissle verwirrt… dass ich da einfach https://edulution machen sollte und nichts auf dem port 8000.
also da ist in der reihenfolge der textausgabe auf der vm kon sole irgendwas durcheinander geraten…

aber sonst top! die installation ist ja innerhalb lmn megaeasy… :slight_smile:

Hallo Michael,

wie im PR#913 zum Thema besprochen sollte das nun passen, oder?

Leider hatte sich dadurch ein Folgefehler eingeschlichen, da Mailcow auf query-users und query-groups zugreifen muss. Ab Version 1.2.44 werden diese Rollen spezifisch nur für den Mailcow-Client in Keycloak wieder gesetzt.

Viele Grüße
Michael

Hallo.
Ich poste meine Fragen hier, obwohl sie eigentlich zu den Ankündigungen gehört (aber da sind keine direkten Antworten vorgesehen).

Heute wurden bekanntlich die Neuigkeiten zu v1.3 im Forum gepostet: Edulution.io - Ankündigungen & News - #8 von maxim

Meine Fragen dazu:

Während das bei mir so aussieht (Menu „Einstellungen“ als global-admin):

Anders gefragt: Wie/wo kann man die Ressourcen-Bib aktivieren/nutzen, falls das in der Community Edition überhaupt vorgesehen ist? :man_shrugging:

Ein paar Infos diesbzgl wären hilfreich. Wie ist das gedacht?
Viele Grüße,
Michael

Hallo Michael,

wir sind dabei die Doku zu erweitern, allerdings ist das ein aufwändiges Thema durch die vielen Möglichkeiten in der Lösung, daher zieht sich das etwas länger.

Die Lösung bringt aktuell genau die Apps nativ mit, die auch in deinem zweiten Sceenshot zu sehen sind. Die „Ressourcen-Bib“ ist eine Costum App, die wir exemplarisch als Beispiel in unsere Installation eingestellt haben. Es ist keine „offizielle“ App, mehr nur ein Beispiel.

Die Custom Apps geben dir die Möglichkeit eigene Apps im gezeigten Format in die Lösung zu bringen.

Viele Grüße
Maxim

Schönen guten edu edulution tag.
Ein tolles Produkt habt ihr hier auf die Beine gestellt. :slight_smile:
Frage zu OnlyOffice:
Ist es richtig, dass da nur 1 Docker gestartet wird?
Muss ein weiterer Port geöffnet werden? Wie 8088?
Welche Einstellungen sollen denn oben stehen bei:
OnlyOffice URL
OnlyOffice JWT Secret?

Grüße Ralf

Hallo,

auch ich wollte mal edulution.io ausprobieren und hab mir auf meinem Proxmox eine neue Ubuntu-24.4.2-VM (mit CPU-Typ „host“) und den empfohlenen Plattengrößen erstellt, nachdem ich auf meinem LMN7.2-Server das Paket linuxmuster-api7 nachinstalliert hatte.

Die Installation klingt ja sehr einfach (und ist sie ja nach Auskunft anderer auch), aber ich scheitere nach dem Aufruf von

bash <(curl -s https://get.edulution.io/installer)

gem. Anleitung.

Zunächst wird lustig docker installiert, doch dann hängt die Installation irgendwann. Hier die letzten Zeilen, bevor das Script stehen bleibt:

Synchronizing state of docker.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable docker
[*] Docker wurde erfolgreich installiert.
[*] Erstelle Ordner für die edulutionUI installation...
[*] Herunterladen der Datei docker-compose.yml...
[*] Herunterladen der Datei realm-edulution.json...
[*] Herunterladen der Datei traefik.yml...
[*] Herunterladen der Datei edulution-default.yml...
[*] Anpassung der Proxy-Konfiguration...

[?] Möchten Sie ein SSL-Zertifikat für eine spezifische Domain erstellen?
    Leer lassen = Self-signed Zertifikat
    Domain angeben = Let's Encrypt Zertifikat (empfohlen)

    Hinweis: Nur nötig wenn Sie sich NICHT hinter einem Reverse Proxy
    (wie Traefik, nginx, Cloudflare) befinden.

Domain (z.B. installer.example.com):
[*] Starte den edulutionUI Web-Installer...
......+............+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.+...+.....+.............+...+..+...+....+...+...+....................+.......+..+.+......+.....+....+.....+......+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.....+......+.......+.....+......+.+......+...+...........+.+..+.......+......+..+......+.+.....+.........+............+...............+...+.......+..+...+...+.+...+.....+.+.....+......+......+...+.+...+..+.+.......................+......+....+......+........+.......+.........+.....+.+.......................+..........+..................+...........................+..+......+...+............+..................+.+........+.............+..............+...................+...............+..+...................+...+...+..+.+............+...+......+.....+.........+.+...+..+...............+...+..........+.....+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.+.....+...+......+..........+.........+......+...........+...+.+...+..+.+........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.....+...+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*....................+....+...............+...+....................+.............+......+...+.....+.............+.....+...+.+..............+.......+........+......+...............+..........+......+.................+.+......+.....+.+..+.+......+.....+.+..+...+....+..........................+......................+.....................+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-----
INFO:     Started server process [8]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on https://0.0.0.0:8000 (Press CTRL+C to quit)

Hat jemand einen Tipp? Oder wird ein Issue im GitHub zur Klärung favorisiert?

Danke!
Jens

P.S.: Jetzt habe ich noch herausgefunden, dass die WebUI in diesem Zustand schon erreichbar ist. Gibt man dort dann die benötigten Dinge ein (alle Haken grün), geht es so weiter:

INFO:     Started server process [8]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on https://0.0.0.0:8000 (Press CTRL+C to quit)
INFO:     Shutting down
INFO:     Waiting for application shutdown.
INFO:     Application shutdown complete.
INFO:     Finished server process [8]
Terminated

########################################################

    edulutionUI Web-Installer

    Sie erreichen die Oberfläche wie folgt:
    https://tgsedu:443
    https://10.32.1.11:443

########################################################

[*] Starte den Authentifizierungserver um die Einstellungen festzulegen...
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 1 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 2 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 3 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 4 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 5 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 6 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 7 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 8 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 9 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 10 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 11 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 12 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 13 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 14 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 15 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 16 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 17 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 18 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 19 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 20 / 60)
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 21 / 60)
[*] Arbeiten am Authentifizierungserver abgeschlossen.
[*] Herunterladen der edulutionUI Container...

und die Installation läuft offenbar durch. Versuche ich mich aber anschließend am edulution.io-Anmeldescreen als global-admin anzumelden, bekomme ich unten nur eine rote Fehlermeldung „Ein unterwarteter Fehler ist aufgetreten!“.

Im docker-log finden sich u.a. solche Fehler:

edulution-keycloak     | 2025-07-22 17:32:35,919 ERROR [org.keycloak.storage.ldap.idm.store.ldap.LDAPOperationManager] (Timer-0) Could not query server using DN [OU=Groups,OU=Global,DC=lmn7,DC=meine-schule,DC=de] and filter [(&(objectclass=group))]: javax.naming.CommunicationException: lmn7.meine-schule.de:389 [Root exception is java.net.ConnectException: Connection timed out]
edulution-keycloak     |        at java.naming/com.sun.jndi.ldap.Connection.<init>(Connection.java:251)
edulution-keycloak     |        at java.naming/com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:141)
edulution-keycloak     |        at java.naming/com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1620)
edulution-keycloak     |        at java.naming/com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2848)
edulution-keycloak     |        at java.naming/com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:349)

P.P.S.: Ich denke, das hier ist die Ursache: mein altersschwacher Server scheint zu alt für edulution.io zu sein:

edulution-db           |
edulution-db           | WARNING: MongoDB 5.0+ requires a CPU with AVX support, and your current system does not appear to have that!
edulution-db           |   see https://jira.mongodb.org/browse/SERVER-54407
edulution-db           |   see also https://www.mongodb.com/community/forums/t/mongodb-5-0-cpu-intel-g4650-compatibility/116610/2
edulution-db           |   see also https://github.com/docker-library/mongo/issues/485#issuecomment-891991814
edulution-db           |
edulution-db           | /usr/local/bin/docker-entrypoint.sh: line 416:    26 Illegal instruction     (core dumped) "${mongodHackedArgs[@]}" --fork
edulution-db exited with code 132

Hallo Jens,

genau den BUG hab ich letzte Woche entdeckt und am Samstag weiter gegeben :slight_smile:

LG
Holger