open-datenschutzcenter
open-datenschutzcenter copied to clipboard
Fehler bei der Installation mit docker (mit Hinweisen wie die Installation funktioniert)
Die Dockerinstallation funktioniert nicht. Hier meine Bemerkungen und ich hoffe, dass später vielleicht eine einfachere Installation möglich sein wird:
- das Image ist veraltet, zumindest thecodingmachine/php:7.4-v4-apache-node10 oder neuer sollte verwendet werden, ansonsten funktioniert gar nichts
- die Apache Konfigurationsdatei ist bei der Verwendung von Docker falsch und unnötig
- Wozu braucht man traefik, wenn man ein simples Setup haben möchte (man kann auch einfach nur das php image verwenden und den port 80 freigeben). Und wenn, wie konfiguriert man traefik richtig?
- warum wird nicht einfach eine dockerfile verwendet, die von thecodingmachine/php:7.4-v4-apache-node10 oder ähnlich erbt damit gäbe es die Installationsprobleme nicht
- BranchPipeline.sh sollte nach updates verwendet werden
- bei BranchPipeline.sh gibt es eine Fehlermeldung, weil das Zertifikat von symfony security nicht stimmt
- die Installations-Befehle sollten eigentlich im Docker-container ausführbar sein und auch so beschrieben werden, sind sie aber nur halb, npm funktioniert nicht? Aber scheinbar doch mit BranchPipeline.sh, php nur mit der Anpassung. Ansonsten ist es ein Ratespiel welche hostumgebung verwendet werden kann.
- bei composer: alleine
composer install --ignore-platform-reqsfunktioniert - OAUTH_KEYCLOAK_SERVER muss den http(s):// Protokolltag enthalten, ansonsten gibt es schwer zu findende Fehler. Außerdem muss der keycloak server von außen erreichbar sein
- wie konfiguriert man keycloak für open-datenschutzcenter? Es fehlen anscheinend Attribute. Hinweis, wenn man nur testen möchte kann man den redirect Parameter auf * setzen
ein kleiner Trick: wenn man die .env.local nicht mag, dann kann man die Parameter auch via der environment übergeben (z.B. docker-compose). Wozu gibt es docker-compose?
die tabelle heißt team, aber was bedeuten die nicht-offensichtlichen Spalten, insbesondere dsb_user_id? Das sollte auch dokumentiert werden
eigentlich ist das schon überholt, es gibt den befehl: php bin/console app:team:create
nutzer müssen aber in der Datenbank angelegt werden:
INSERT INTO fos_user (team_id,email,keycloak_id,username) VALUES (1,'email', 'keycloakid', 'foo');
Wichtig ist hierbei, dass in keycloak firstname, lastname und email gesetzt sind
aber eigentlich scheint das anlegen von Nutzern automatisch zu funktionieren, man muss nur das team manuell zuordnen
man wird admin, indem man die admin_user_id auf die Teamid setzt
Hallo @devkral,
vielen Dank für deinen Beitrag.
Es ist tatsächlich so, dass wir hier das Dockerfile überhaupt nicht für den ODC erstellt haben, sonder einfach nur ein fertiges Dockerfiile reingemacht haben. Wir haben tatsächlich mal damit angefangen, aber niemals das Thema Docker fertig gemacht. Deshalb funktioniert das auch sicher nicht.
Wenn du ein funktionierendes Dockerfile gebaut hast, dann freuen wir uns natürlich immer über einen PR.
zu den anderen Fragen, ja das mit den Teamid haben wir vor sehr kurzer Zeit eingebaut, deshalb ist es noch nicht dokumentiert.
Zum Thema Keycloak. Dieser kann zum testen auf * gesetzt werden, da dies nicht überprüft werden muss. Bei der Client einstellung musst du die Einstellung wie folgt einstellen, dann sollte es fukntionieren.

ZU den Tabbellen: alle Spalten mit einer *_id sind von Symfony selbst erstellt. hier wird eine Verlinkung zu einer Datenbanktabelle gemacht und dementsprechend steht hier die ID der Entity
@devkral Wir haben eine komplett neue Docker Installation erstellt, die du nutzen kannst. Wir freuen uns über Feedback.
ich hab es überflogen, sieht gut aus. Ein kleiner Punkt:
den installskripts fehlt das ausführungsrecht (kein Beinbruch).
mit chmod +x install*.sh lässt sich es hinzufügen und mit git commit install*.sh committen
beim Testen aufgefallen:
die Dateien docker-compose.cluster.yml und docker-compose.dev.yml fehlen, außerdem ist beim .cluster.yml pfad noch ein fehler
Beim Testen aufgefallen:
docker-compose*.yml sollten eigentlich die docker.conf als env-file verwenden. Ansonsten müssen up befehle stattdessen installOdcdocker.sh verwenden
@devkral Kannst du mal schauen ob die letzte Version funktioniert. Dort gibt es jetzt die Version Prod und Dev für die lokale Installation ohne TLS