Baikal die 2. - Docker Edition

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
der Fehler scheint bis zu den DS x16 aufzutreten, aber egal nginx funktioniert ja auch ;)

somit wäre es ratsam: bis DS x16 - nginx, neuere DS apache & nginx
 

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
Danke für die Anleitung!

Bin gerade am Testen, ob ich meine Webinstallation von baikal durch ein Container-Setup ersetzen kann. In der Webversion (v.0.8.0) nutze ich bereits die lokale MariaDB 10 (unter DSM 7.1), welche bei mit unter der IP-Adresse 191.168.6.96:3307 erreichbar ist. Also sowohl der Docker-Container, also ach MariaDB laufen auf meiner DSM918+.

Und genau diese IP und den Port habe ich nun im Admin-Setup des neuen Containers eingegeben, natürlich inkl. dem Root und dessen Kennwort (=DB-Admin der MariaDB), MySQL ist als Option angeklickt.

Nur sagt der Container nun:
Baïkal was not able to establish a connexion to the MySQL database as configured. MySQL says: SQLSTATE[HY000] [2006] MySQL server has gone away

Die Datenbank ist aber erreichbar, denn die aktuelle Webinstallation von baikal nutzt exakt diese DB.

Info: Bei der Docker-Version habe ich natürlich einen anderen DB-Namen angegeben, da ich mir die Produktivversion von baikal nicht zerschießen möchte.

Liegt dieses Problem am Docker-Setup, warum baikal die MariaDB nicht erreichen kann?

Edit: wenn ich statt der o.g. IP jetz 127.0.0.1:3307 verwende, so wie ich es bereits in der Webversion von baikal eingestellt habe, so bekomme ich diese Meldung:
Baïkal was not able to establish a connexion to the MySQL database as configured. MySQL says: SQLSTATE[HY000] [2002] Connection refused
Die Firewall ist zu diesem Zeitpunkt auf der DS deaktiviert gewesen.
 
Zuletzt bearbeitet:

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
Ich nutze aktuell MariaDB nicht, würde aber gerne zu Postgres wechseln. Das würde bei Baikal schon vor langer Zeit angefragt. Deshalb kann nich nur bedingt Auskunft geben.

Das Problem was du haben könntest wäre eventuell mit dem Netzwerk/Bridge-Modus. Bei Docker laufen die Container nur mal in einen extra Netzwerk. Das kann für jeden Container ein einzelnen sein oder mehrere zusammen.

Hast du beim einrichten die Option "Host" ausprobiert? Dann sollte Baikal wie in der Webstation laufen. Eventuell kommst du ja denn drauf.
Als 2. Möglichkeit wäre es MariaDB in Docker laufen zu lassen und nicht auf der Diskstation. Beide Docker denn in einen Netzwerk und als Adresse den Dockernamen von MariaDB. Container werden normal über den Containernamen angesprochen.

Wenn ich ein bisschen Luft habe, teste ich das ganze einmal

Du nutzt ja MariaDB10 auf DSM7.1. MariaDB5 hast du also nicht mehr installiert?

Code:
 MySQL server has gone away
Der Fehler tritt oft beim importieren von großen Datenbanken auf.
Hast du einmal eine neue oder kleine probiert?
 
Zuletzt bearbeitet:

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
Danke für die Tipps!

Dass die Docker-Container in einem eigenen Netzwerk laufen ist mir bewusst, dachte nur das ganz naiv, das wird mich hier nicht weiter stören. Habe auch eine MySQL in einem Docker laufen, auf der gleichen Maschine, und werde versuchen, baikal dort Mal einzuhängen. Ggf. erstelle ich ein eigenes Netzwerk und hänge baikal und MySQL in dieses ein.

Die Option Host habe ich noch nicht probiert, ist mir auch gar nicht aufgefallen. Mal sehen, ob ich die noch finden werde.

Ich würde zwar gerne MariaDB 10 verwenden, schon alleine deswegen, weil die aktuelle baikal Instanz bereits seine DB dort eingerichtet hat und wenn mit baikal-Docker dann zusagen sollte, würde ich diese DB weiterverwenden.
Andernfalls müsste ich wohl die Daten irgendwie migrieren....

MariaDB5 musste ich, entweder beim Upgrade auf DSM 7.0 oder jetzt bei 7.1 deinstallieren, wenn mich nicht alles täuscht, jedenfalls läuft bei mir nur MariaDB in Version 10.

Daten importiert habe ich bisher noch gar nichts, wollte im Rahmen des Admin-Setups von baikal, eine neue DB erstellen lassen...

Edit: da das Docker Image von ckulka keine eigene DB mitbringt, wie wäre denn das Standard-Vorgehen in einem solchen Fall, baikal mit einer DB zu verheiraten?
Edit2: denke habs gefunden. Irgendwas mit Unraid...
 
Zuletzt bearbeitet:

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
Dein MySQL läuft ja in Docker, das sollte ok sein, sofern Baikal im gleichen Netzwerk ist kannst du einfach als Adresse den Dockernamen von MySQL nutzen und musst keine IP eintragen. Das ist bei Docker so üblich und funktioniert bei mir auch besten (Paperless-ngx).

Nun bin ich mir immer noch nicht ganz sicher ob du auf den im Docker weitermachen willst oder Mairadb von der DS nutzen willst.

Ich würde eher zur MariaDB10 greifen (egal ob Docker oder DS) und die vor MySQL vorziehen. Persönlich nutze ich Sqlite und hoffe das Postgresql irgendwann einmal in Baikal landet um dort hin zu migrieren. Das hat aber nur einen nutzen wenn man die Datenbank für mehrere Anwendungen nutzen will. Sofern du keine weitere Datenbank/Anwendung hast kannst du auch mit Sqlite sehr gut leben!

Ich hätte auch einmal probiert eine Datenbank nach Anleitung mit Myphp angelegt. Ob ein einfaches eintragen einer Datenbank in Baikal ein Datenbank erzeugt kann ich dir nicht sagen. Normal sind das. Laut Anleitung ist auch von einen anlegen der Datenbank mit Myphp die rede.

Bitte schreibe einmal deine Wunschkonfiguration auf, damit wir nicht aneinander vorbei reden. Dazu zählen welche Datenbank und auf der DS oder im Docker. Denn sehen wir weiter.
 
  • Like
Reaktionen: bifireconsulting

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
So, Mal Zeit gefunden das Ganze aufzuschreiben.

Meine geplante Konfiguration besteht aus:
  • baikal im Docker Container auf DS918+ mit IP-Adresse 192.168.9.96
  • Datenbank MariaDB (Synology Package) auf DS918+, erreichbar unter 192.168.6.96:3307
MariaDB ist meine primäre Wahl, denn ich habe bereits baikal über die Web-Station auf der DS918+ am Laufen und auch diese Installation verwendet MariaDB. Die baikal Konfiguration hat für MariaDB in diesem Fall die IP: 127.0.0.1:3307.

Dass baikal aus dem Docker Contaienr heraus Probleme mit dem Zugriff auf das Netzwerk der DS hat, verstehe ich. Ich bin mir allerdings nicht sicher, ob ich dem Docker-Container so mir nichts dir nichts und falls überhaupt möglich, eine IP-Adresse meines LANs zuteilen soll, als irgendwas aus dem Bereich 192,168.6.x.

VG,
Michael
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
So einmal kurz getestet,

Ich habe jetzt phpMyAdmin und MariaDB10 installiert, Benutzer und Datenbank (beides "baikal" genannt) sowie in MariaDB10 die TCP/IP Verbindung aktiviert.

Screenshot 2022-05-20 at 15-23-55 DiskStation - Synology DiskStation.png

Was soll ich sagen es funktioniert problemlos zusammen mit DSM7.1. Erstellen von User und Kalender ist möglich. Das ganze im "normalen" Bridge-Modus.

Screenshot 2022-05-20 at 15-18-54 Baïkal 0.9.2 Web Admin.png

Nach dem einrichten in Baikal wurde die Datenbank mit entsprechenden Einträgen erweitert.

Screenshot 2022-05-20 at 15-18-19 192.168.0.2 _ MariaDB 10 _ baikal phpMyAdmin 4.9.7.png

Du kannst also sehen das es funktioniert. Irgend etwas muss bei dir Falsch sein. Überprüfe doch die genannten Einstellungen (IP, TCP/IP Einstellung, Datenbankname, Username und Passwort und Port. Mehr hab ich nicht eingestellt.

Ein erstellen einer Datenbank funktioniert aus Baikal nicht, dort funktionieren nur bereits angelegte Datenbanken!
Schau einmal in der Benutzerkontenübersicht, ich denke der verwendete "Hostname" könnte dein Problem sein!

Screenshot 2022-05-20 at 15-55-34 192.168.0.2 _ MariaDB 10 phpMyAdmin 4.9.7.png

Ich hoffe du kommst jetzt weiter...

Edit: wenn du die Datenbank (MariaDB) nur für Baikal nutz kannst du auch gleich zu Sqlite wechseln, das erspart die das ganze. Gilt natürlich nicht wenn du noch andere Dienste mit MariaDB benutzt. Sqlite hat ansonsten kein Performanceeinbusen es sei den du hast 100erte User. Exportieren/importieren kannst du vorhandene Einträge via Client und ein Backup "on the fly" erstellen indem du einfach die Datenbank oder Ordner kopierst (automatisch). Mariadb, phpMyAdmin, Webstation und php sind denn für Baikal nicht mehr notwendig (sofern andere Dienste diese nicht bei dir benötigen)!
 
Zuletzt bearbeitet:

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
Danke dir für die ausführliche Anleitung! Ich habe bis auf die IP Adresse meiner DS, die gleiche Installation.

Nur, ich bekomme keine Verbindung zur MariaDB 10. Ich nutze den Port 3307.
Dies ist der Tatsache geschuldet, weil zuvor, mit DSM 6, MariaDB 5 parallel lief und Port 3306 nutzte.

Aber das spielt eigentlich keine Rolle. Momentan lege ich das Projekt Mal jetzt auf Eis und nutze weiterhin die Installation in der Webstation.

Ach ja, SQLite kann und will ich nicht nutzen, denn die aktuelle lokale baikal Installation, auch bereits auf 0.9.2, nutzt MariaDb und ich wollte die DB einfach im Docker baikal weiter verwenden.

Danke nochmals!
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
Verstehe nicht warum es bei dir nicht funktionieren soll?
Ich habe alles frisch installiert - da nicht vorhanden.
Wie sieht denn deine Benutzerkontenübersicht aus?
Hast du einmal einen neuen Benutzer mit Datenbank angelegt und ggf. die Rechte angepasst?

Sqlite & MariaDB/MySQL funktioniert mit Docker und der Webstationversion.
 

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
Ich sehe, du hast mehr Glück wie ich:

1653135940888.png
Die IP, oben in der Fehlermeldung ist die des Docker Containers und 192.168.6.96 die IP, der DS.

Ich habe auch schon einen eigenen User "baikal" eingerichtet und mit sämtlichen Rechten versehen, die es gibt, inklusive der expliziten Zuweisung des neuen Benutzers zur Datenbank "baikal2". Alles ohne Erfolg.

Ach ja, SQLite im Container funktioniert natürlich, aber da habe ich halt das Problem der Migration der Daten von der lokalen Baikal-Installation nach SQLite.

Zudem müsste ich Volumes einrichten um die SQLite DB sichern zu können und lt. der Github-Webseite des Docker-Image, den Pfad dann sogar noch mit eigenen Berechtigungen versorgen, das war mir dann jetzt ein wenig zuviel Aufwand.
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
leg doch bitte einen User an und nutze nicht root!
Schau doch bitte einmal auf meine Bilder, dort hab ich einen User Baikal angelegt!

Das Problem ist das root nur unter localhost, 127.0.0.1 oder unter der ipv6 erreichbar ist. 127.0.0.1 könnte funktionieren wenn du den Dockercontainer als "Host" einrichtest.

Außerdem ist ist es nicht schön als root auf die Datenbanken mit einen Client zuzugreifen. root sollte nur für das administrieren genutzt werden.

Erstelle bitte einen User Baikal3, mach den Haken bei Datenbank mit erstellen und passe ggf. die Rechte an, Passwort erstellen lassen oder ausdenken - das wird schon funktionieren.

Entweder mache es richtig oder nutze Sqlite wenn du damit überfordert bist - also root ist es alleine wegen der Sicherheit nicht unbedingt zu empfehlen! Das gilt für Docker oder auch Webstation.

Wenn das alles läuft kannst du mit phpmyadmin ein dump deiner alten Datenbank machen und in der neuen einfügen.

Bitte erstelle einen neuen User mit den unten genannten Einstellungen:

1.png
Benutzername und Passwort ist natürlich frei zu wählen, zum Test aber hier "baikal3". Danach ist die angelegte Datenbank "baikal3" leer:

2.png

Jetzt geben wir die Adresse, Usernamen und Passwort in Baikal ein.

3.png
Und schauen in phpmyadmin in der Datenbank "baikal3" nach. Diese sollte jetzt mit den Tabellen gefüllt sein.

4.png
Wenn das alles richtig ist kannst du ein "dump" deiner jetzigen Datenbank erstellen und diese in der neuen importieren. Denn sollten alle Einträge/Kontakte/Termine wieder vorhanden sein.

Natürlich kannst du auch einen Benutzer "Yippie" anlegen ohne eine gleichnamige Datenbank dazu zu erstellen. Dazu noch eine Datenbank "baikal" welche du mit den Benutzer "Yippie" verknüpfst. Da gibt es kein Grenzen um eine einfach Ordnung in der Datenbanken zu realisieren.

Wenn du aber keine weitere Datenbank hast, nutze doch einfach Sqlite, das läuft sowieso auf der DS immer und kopiere die Einträge mit den Client.

Ich hoffe das war jetzt einfach genug
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Tuxnet

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
Ach ja, SQLite im Container funktioniert natürlich, aber da habe ich halt das Problem der Migration der Daten von der lokalen Baikal-Installation nach SQLite.
Das geht mit einen Client und ist einmalig, das ganze mit Drag´n Drop - je nach Client. Oder du exportierst die Adressbücher/Kalender direkt aus Baikal-Webif heraus. Als alternative gibt es noch Online Konverter die das auch einfach erledigen können. Alles kein Hexenwerk.
Zudem müsste ich Volumes einrichten um die SQLite DB sichern zu können und lt. der Github-Webseite des Docker-Image, den Pfad dann sogar noch mit eigenen Berechtigungen versorgen, das war mir dann jetzt ein wenig zuviel Aufwand.
Das stimmt natürlich nicht, die Sqlite Datenbank liegt direkt im Docker Ordner und muss im Gegensatz zu Postgres/MariaDB/MySQL nicht extra via "Dump" extrahiert werden. Die Datenbank kann jederzeit einfach kopiert werden ohne Baikal zu stoppen, von Hand oder automatisch. Für mich die bessere und einfachere Wahl, es sei denn du nutzt die Datenbanken noch für andere Dienste oder Anwendungen. Wozu du andere Volumes braucht weis ich nicht - mach das wohl schon sehr viele Jahre und ab Version 0.2.7 falsch ;)
 
Zuletzt bearbeitet:

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
@EDvonSchleck Danke erstmal für deine Geduld und deine ausführlichen Erklärungen.

Vielleicht Mal zu meiner Entschuldigung oder meiner Verteidigung. Ich arbeite seit mehr als 30 Jahren in der IT und habe durchaus Erfahrungen mit Datenbanken und diversen Programmiersprachen, darunter MS-SQL und SAP Hana (In-Memory DB) usw. Auch MySQL und SQLite ist mir nicht neu ;-) Ich habe des Weiteren mehrere Docker-Container (Portainer, UnifiController, Standard-Notes, Flame, Gitea, Firefox SyncServer, ff.) aktiv am Laufen, auch mit Datenbanken, jedoch in der Regel nicht innerhalb des Containers abgelegt, sondern auf gemappten Volumes, die ich dann bequem mit HyperBackup sichern kann. Von daher meine Frage mit einem gemounteten Volume für die SQLite DB.

Dass mit root nicht gearbeitet werden soll ist mir bewusst und ich habe auch bereits einen eigenen Benutzer erstellt, ähnlich deinen Hardcopies oben. Habe dabei sogar alle Berechtigungen, die mir phpMyAdmin angeboten hat, angekreuzt. Da mir aber trotzdem der Zugriff nicht gelang, habe ich meine Hardcopy mit dem Benutzer root gepostet, um keine Zweifel aufkommen zu lassen, dass ich einen nicht privilegierten, neuen Benutzer verwendet hätte.

Ich habe auch gesehen, dass der Benutzer root nicht für die Docker-IP 172.17.0.8 zugelassen ist, aber nichtsdestotrotz hat auch der nun anhand deiner Anleitung erstellte baikal3 User samt der dabei erstellten DB keinen Zugriff im Docker-Container:

1653156225348.png
Ich weiß nicht was bei mir anders ist, als bei dir. Ich habe auch die Firewall im DSM bereits deaktiviert und explizit beim Erstellen des eigenen Benutzers schon die IP-Adresse 127.17.0.8 erlaubt, usw.

Aber bisher alles ohne Erfolg!

Das stimmt natürlich nicht, die Sqlite Datenbank liegt direkt im Docker Ordner und muss im Gegensatz zu Postgres/MariaDB/MySQL nicht extra via "Dump" extrahiert werden. Die Datenbank kann jederzeit einfach kopiert werden ohne Baikal zu stoppen, von Hand oder automatisch. Für mich die bessere und einfachere Wahl, es sei denn du nutzt die Datenbanken noch für andere Dienste oder Anwendungen. Wozu du andere Volumes braucht weis ich nicht - mach das wohl schon sehr viele Jahre und ab Version 0.2.7 falsch ;)
Wenn die DB direkt im Container liegt, dann ist doch der Sinn und Zweck eines Container, dass die Daten nach einem Neustart des Containers sich automatisch initialisieren, oder?
Bedeutet letztendlich, dass die Kalender und Kontakte dann unweigerlich futsch sind? Das sollen doch gemountete Volumes verhindern?

Da der Fehler
Code:
MySQL error: SQLSTATE[HY000] [1045] Access denied for user 'baikal3'@'172.17.0.8' (using password: YES)
offenbar direkt von der MySQL-DB ausgegeben wird, gehe ich zumindest jetzt davon aus, dass die DB erreichbar ist, jedoch der Benutzer baikal3 keinerlei Berechtigung auf der DB besitzt. Dies erklärt ja auch schon die Darstellung hier.
1653156844639.png
Daraufhin habe ich nun alle Berechtigungen vergeben:
1653156922113.pngaber das änderte nichts im baikal Setup. Gleicher Fehler wie oben.

Siehe noch:
1653156985053.png
Somit stehe ich wieder am Anfang mit der Installation... :-(

Edit: Es soll ja niemand behaupten, ich hätte keine Alternativen gesucht ;-)
Ich habe auf der gleichen DS eine MySQL-DB im Docker laufen. Es existieren dort bereits mehrere DB auf gemounteten Volumes, die auch gesichert werden, aber das nur am Rande...

Jetzt habe ich dort mittels phpMyAdmin ebenfalls einen neuen Benutzer baikal erstellt und dazu eine gleichnamige Datenbank, sowie alle Rechte erteilt.
Im Baikal-Admin dann diese DB angegeben und natürlich den neuen Benutzer und das Passwort.
Ergebnis, niederschmetternd:
1653157919318.png
Wie gesagt, im gleichen MySQL-Container laufen bereits erfolgreich die Datenbanken für Gitea und StandardNotes,, die auch wiederum aus einem Docker-Container heraus auf MySQL zugreifen.
Nur baikal weigert sich beharrlich...

Jetzt wird es doch noch interessant wenngleich ich es auch nicht verstehe: Verwende nun für meine Docker-MySQL-DB den User root, statt den neuen Benutzer baikal und siehe da:
1653158347953.png
Dachte, die Tabellen werden automatisch erstellt? Die DB baikal existiert aber.

Ist mir auch neu, dass die Tabellen manuell erstellt werden müssen, da hat die Installation in der Webstation alles selbstständig erledigt, warum also hier jetzt so ein Aufsehens?
 

Anhänge

  • 1653157813604.png
    1653157813604.png
    38,6 KB · Aufrufe: 1
Zuletzt bearbeitet:

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
Schön das du erst einmal nicht aufgibst ;)
Probleme sind ja da um sie zu lösen!
Wenn die DB direkt im Container liegt, dann ist doch der Sinn und Zweck eines Container, dass die Daten nach einem Neustart des Containers sich automatisch initialisieren, oder?
Bedeutet letztendlich, dass die Kalender und Kontakte dann unweigerlich futsch sind? Das sollen doch gemountete Volumes verhindern?
das ist ja richtig - die Datenbank liengt auch auch in Docker Ordner von Baikal > Spezific>db. Von dort aus kann es on the fly gesichert und wiederher gestellt werden. Da Du aber mehrer datenbanken hast würde ich auch bei Mariadb bleiben. War ja nur ein Vorschlag falls nichts anderes nebenbei läuft.
Da der Fehler
Code:
MySQL error: SQLSTATE[HY000] [1045] Access denied for user 'baikal3'@'172.17.0.8' (using password: YES)
offenbar direkt von der MySQL-DB ausgegeben wird, gehe ich zumindest jetzt davon aus, dass die DB erreichbar ist, jedoch der Benutzer baikal3 keinerlei Berechtigung auf der DB besitzt. Dies erklärt ja auch schon die Darstellung hier.
Ich musste wie beschrieben keine rechte einräumen. So ist es auch in der damaligen Anleitung für die Webstation dokumentiert.
Die IP-Freigabe in MariaDB hast du bestimmt auch aktiviert?

Langsam fällt mir nicht mehr viel dazu ein, da ich den Fehler einfach nicht reproduzieren kann. Wir könnten noch die DSm Version und MariaDb vergleichen. Ich hatte auf Grund der Neuinstallation die aktuellste. Eventuell ist ja doch was übrig geblieben vom Wechsel Maria5 > Maria10. Eine Installation von MariaDB in Docker und somit in einen IP-Bereich wäre eventuell noch eine Option.

Die unkenntlichen Datenbanken sind die Standard Root Einträge oder sind es weitere Datenbanken? Ich nutze Sqlite weil es einfach läuft und eine weiter DB ist für mich Ressourcenverschwendung. Da ich für Paperless-ngx PostgreSQL laufen habe wäre das die bessere Lösung - dies wurde bei Baikal ja mehrmals bereits angefragt.

Kannst du einen Dump von der Datenbank machen und Maria noch einmal komplett neu installieren?
 

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
55
Punkte
54
So, habs geschafft!!

Habe in phpMyAdmin die bereits vorhandene baikal DB (die von der Webstation Installation) nach baikal2 kopiert. Reiter Operationen der vorhandenen DB.

Anschließend einen neuen DB Benutzer baikal erstellt und Berechtigungen erteilt.

Anschließend die DB baikal2 und den Benutzer baikal in den Datenbank-Settings von baikal Docker eingetragen und gespeichert.
Success! Die kopierte DB bzw. deren Daten sind im baikal Dashboard vorhanden.

Danke @EDvonSchleck für deine Tipps und Geduld!
Schönen Abend
 
  • Like
Reaktionen: EDvonSchleck

Huhie

Benutzer
Mitglied seit
29. Nov 2007
Beiträge
450
Punkte für Reaktionen
8
Punkte
18
Moin Zusammen,
nachdem ich immer wieder Probleme mit dem Synology Kalender habe, habe ich nun Testweise mal den Docker Baikal aufgebaut.
Das sieht soweit ganz gut aus.

Aktuelle Installation via docker-compose im bridge Modus mit Anbindung
an MariaDB10. Läuft soweit!

Dazu habe ich aber nochmal ein zwei Fragen... Ich hoffe auf eure Hilfe ;)

- Ist der Bridge Mode richtig? Oder mach MacVlan mehr Sinn? Gibt es Vor- oder Nachteile?

- Wie bekomme ich es hin, dass ich "Baikal" via https aufrufen kann?
Nur via ReverseProxy und Subdomain?
Oder gibt es einen anderen Weg?

- Ein Weboberfläche gibt es so nicht, wenn ich das alles richtig verstanden habe oder? Nur
die Admin Oberfläche, auf der ich alles einstelle...

- Gibst es da wichtige Punkte die zu beachten oder einzustellen sind?

Ich danke euch vorab für die Unterstützung...

Huhie
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
- Ist der Bridge Mode richtig? Oder mach MacVlan mehr Sinn? Gibt es Vor- oder Nachteile?
Generell arbeiten Docker-Container im Bridge-Modus. Sie sind somit vom System entkoppelt. Eine Brücke dazu liefert die Bridge - damit wird der interne Port (Docker) auf einen externen Port, welcher connected werden kann gemappt. Alternativ wäre dazu der "Host"-Modus. MacVlan dient dazu eine andere IP-Adresse als die Übliche von der DS zu connecten. Bei MacVlan wird ein virtueller Switch in der DS erzeugt.

Ich verwende Baikal im Bridge-Mode. Es ist auch möglich mehrere Container in einen separaten "Bridgenetz" zu bündeln. Besipiel dazu wäre Baikal & MariaDB. Nur diese Container können sich gegenseitig verbinden. Somit haben bestimmte Container nur untereinander eine Verbindung. Wenn mehrere Netzwerkkarten vorhanden sind kann auch eine andere verwendet werden.

- Wie bekomme ich es hin, dass ich "Baikal" via https aufrufen kann?
Nur via ReverseProxy und Subdomain?
Oder gibt es einen anderen Weg?
ReverseProxy ist ein mächtiges Tool, das geht es mit einer IP genauso wie mit einer Domain. Wenn ein DNS-Server, Pi-Hole oder Adguard genutzt wird, kann man auch eine eigene anlegen (intern) und diese anschließend nutzen. Subdomain kannst du machen, musst es aber nicht. Der ReverseProxy lauscht auf das was du eingestellt hast und leitet es dementsprechend an den passenden Port weiter. Das kann jeder Dienst sein.

- Ein Weboberfläche gibt es so nicht, wenn ich das alles richtig verstanden habe oder? Nur
die Admin Oberfläche, auf der ich alles einstelle...
Doch gibt es - jedoch ist das nur eine abgespeckte GUI. Erreichen kannst du diese im Browser für die folgenden Parts:
  • Cal+Carddav: http(s)://IPoderNamenderDiskstation+Port/dav.php
  • Caldav: http(s)://IPoderNamenderDiskstation+Port/cal.php
  • Carddav: http(s)://IPoderNamenderDiskstation+Port/card.php
- Gibst es da wichtige Punkte die zu beachten oder einzustellen sind?
nein - einfach benutzen.

Als Anmerkung:
Wenn du MariaDB für andere Dienste nutzt kannst du es gerne mit Baikal nutzen um alle Datenbanken an einen Ort zu haben. Für die alleinige Verwendung für Baikal kannst du einfach Sqlite (Anleitung) nutzen. Das läuft genau so gut und kann "on the fly" gesichert werden.
 

Huhie

Benutzer
Mitglied seit
29. Nov 2007
Beiträge
450
Punkte für Reaktionen
8
Punkte
18
Hallo @EDvonSchleck,

vielen Dank für die Infos. Ich habe Baikal nun via ReverseProxy über eine SubDomain eingerichtet. Das klappt anscheinend
via https und einem LetsEncrypt Zertifikat ganz gut. Zumindest sind die ersten Tests erfolgreich gewesen ;)
Bei ReverseProxy brauche ich doch eine individuelle subdomain. Das geht doch sonst gar nicht anders oder mache ich da
einen Gedankenfehler?

Kalender Freigabe klappt auch *top*

Ich nutze etliche Container im MacVlan Modus, denke aber hier ist es besser den Bridge Modus zu nutzen, um
die Anbindung an MariaDB hinzubekommen. Auch das klappt so einwandfrei.

Bei iOS Geräten muss bei der Server Adresse https://meine.subdomain.de/cal.php/prinicipals/mein.benutzername eingegeben werden oder
gibt es eine Möglichkeit das zu umgehen und kürzer zu machen?

Die Weboberfläche ist aber sehr minimalisitisch.

Weisst Du, ob man via CalDavSynchronizer aus Outlook auch Termin Anlagen als PDF mit Syncen kann und diese dann auch weiter
in iOS gesynct werden?
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.120
Punkte
214
Bei ReverseProxy brauche ich doch eine individuelle subdomain. Das geht doch sonst gar nicht anders oder mache ich da
einen Gedankenfehler?
Ich kann nicht sagen wie es bei dir ist. Ob du via IP, Domain oder Subdomain nutzen willst. Es ist ja möglich mehrere Domains zu nutzen, wenn es eine Trennung geben soll. Wenn nur eine Domain vorhanden kann dies nur um die Subdomain erweitert werden. Auch ist es die Frage ob du den Dienst nur intern nutzt oder auch extern mit oder ohne VPN. Für alles interne incl. VPN kannst du dir ja eine ausdenken und diese connecten.

Ich nutze etliche Container im MacVlan Modus, denke aber hier ist es besser den Bridge Modus zu nutzen, um
die Anbindung an MariaDB hinzubekommen. Auch das klappt so einwandfrei.
Technisch gesehen ist das egal, da Baikal mit der IP zu MariaDB verbinden kann. normal läuft das in Docker aber über die Namen ab - nicht über die interne IP. Der Unterschied zwischen Bridge und Host/MacVlan sind die Ports. Währende beim Bridgemode der Port umgeleitet wird um nicht Konflikte zu erzeugen werden im Host/MacVlan die original Ports genutzt z.B. SSL:433. Bei MacVlan kann es somit nicht zu einer Doppelbelegung kommen, da eine andere IP als die DS verwendet wird - was aber auch nicht 100% sauber ist und es zu Problemen kommen kann.. Generell gilt aber der Bridgemode als Standard im Docker.

Bei iOS Geräten muss bei der Server Adresse https://meine.subdomain.de/cal.php/prinicipals/mein.benutzername eingegeben werden oder
gibt es eine Möglichkeit das zu umgehen und kürzer zu machen?
Kann ich nicht sagen, weil ich keine Apple Geräte verwende.

Die Weboberfläche ist aber sehr minimalisitisch.
Reicht für ein paar Einstellungen und ist besonders für das exportieren der Daten gut geeignet. Dort kann man auch Kalender an andere User teilen.

Weisst Du, ob man via CalDavSynchronizer aus Outlook auch Termin Anlagen als PDF mit Syncen kann und diese dann auch weiter
in iOS gesynct werden?
Erstes verwende ich aber leider nicht mit IOS/Apple. Eine Option von Datenanhänge gibt es bei Android nicht. Ich habe es eben noch einmal mit Outlook getestet. Auf dem Server-File ist kein Anhang gespeichert. Wobei ich nicht sicher bin ob CalDavSynchronizer das unterstützt da es dort auch keine Option gibt.

Eine gute Anleitung für Baikal gibt es hier.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat