- Mitglied seit
- 06. Mrz 2018
- Beiträge
- 4.703
- Punkte für Reaktionen
- 1.120
- Punkte
- 214
In meinem anderen Thread habe ich schon beschrieben, wie eine manuelle Installation von dem Baikal Server funktioniert. Dieser schlanke Cal-/Carddav Server, welcher leicht zu bedienen und zu sichern ist, ist Open Source und neben Github auch als Docker über Dockerhub verfügbar.
Vorweg möchte ich sagen, dass das Schreiben der Anleitung wesentlich länger gedauert hat, als die Einrichtung des Servers selbst. Ich verwende Bailkal-Docker auf einer 1513+ mit nginx und php_8.1. Die Einrichtung dürfte nicht länger als 3-5 Minuten dauern.
Es gibt natürlich unterschiedliche Herangehensweisen auf die ich nur kurz eingehen werde. Das betrifft z.B. das Erstellen der Ordner mit der Filestation oder aus Docker direkt oder das Netzwerk in Docker - ob als Bridge oder Macvlan. Ich beschreibe hier die Einrichtung über das Synology UI – eine Installation via Portainer ist natürlich ebenfalls möglich. Wer lieber MariaDB/MySQL nutzen will, kann dieses ebenfalls machen - diese Anleitung bezieht sich jedoch auf sqlite (DSM).
1. Als erstes benötigen wir die Software. Diese können wir bequem über das Paket- Zentrum herunterladen. Wir suchen also nach der App „Docker“ und installieren diese. Anschließend sollte Docker automatisch ausgeführt werden und so aussehen. Danach können wir das Paket-Zentrum schließen.
Wer Baikal noch nicht genutzt hat, oder eine Neuinstallation vornimmt, kann diesen Schritt überspringen und die Ordner direkt in Docker anlegen! Wer bereits Baikal genutzt hat und mit seiner Datenbank in Docker umziehen möchte, liest hier weiter.
2. Wir erstellen die benötigten Ordner mit der Filestation, damit die Daten auch dauerhaft z.B. nach einem Neustart oder Stromausfall vorhanden sind und nicht nur virtuell im Container. Wir öffnen die Filestation. Im Root der Diskstation sollte ein „docker“ Ordner vorhanden sein. Dort hinein erstellen wir einen Ordner „baikal“. In diesem Ordner erstellen wir 2 weitere Ordner: „config“ und „Specific“. In „Specific“ erstellen wir einen weiteren Unterordner „db“. Dort hinein können wir unsere vorhandene Datenbank „db_sqlite“ von /web/baikal/Specific/db nach /docker/baikal/Specific/db kopieren. Somit sind alle Datensätze nach Installation wieder vorhanden.
Von dem Kopieren der Einstellung rate ich ab, es sei denn man ändert den Pfad der Datenbank in der „baikal.yaml“ im Ordner „config“ manuell. Der Pfad für die sqlite Datenbank sollte wie folgt angepasst werden: von /volume1/web/baikal/Specific/db/db.sqlite nach „/var/www/baikal/Specific/db/db.sqlite“ Nach dem Ändern kann auch die Config von /web/baikal/config nach /docker/baikal/config kopiert werden und alle Einstellungen bleiben erhalten. Da aber eh nur das Admin Passwort und die Zeitzone als Standard eingestellt werden müssen, ist das eher zu vernachlässigen.
3. Jetzt kommen wir zum eigentlichen Docker, wir öffnen die Docker-App und gehen auf das Register: Registrierung.
Dort geben wir oben rechts in der Suche den Begriff „baikal“ ein. Wir wählen den ersten Eintrag chulka/baikal aus und installieren uns den Container mit dem Tag: nginx. Anschließend wird der Container selbstständig heruntergeladen. Mit diesem Tag sind auch zuküntige Updates möglich - ohne abhängig von der Versionsnummer zu sein. Der Container bietet immer die letzte Version von Baikal + php + nginx als Webserver an. Somit ist ein automatisches Aktualisieren mit Watchtower möglich, damit ihr immer auf den neusten Stand seit. Leider lief keine Apache-Version auf meiner 1513+/ i386, bei der nativen Installation war das genau anders herum, dort lief nginx nicht!
Wir wechseln jetzt auf den Reiter Image in der Docker App und Starten den Baikal Container mit Doppel-Klick oder mit den Button. Wir nehmen die Settings in den erweiterten Einstellungen wie folgt vor:
Bei den Container-Namen, den Netzwerkeinstellungen oder Ports können natürlich individuelle Einstellungen vorgenommen werden. So kann man mit Macvlan den Container eine eigen IP verpassen usw. Ich gehe aufgrund der Länge jetzt nicht darauf ein – kann aber gerne im Thread diskutiert werden. Auch können unter Volumen die Ordner im Docker direkt erstellt werden und nicht wie vorher in der Filestation (Schritt 2) – das macht eher Sinn wenn bereits eine Datenbank vorhanden ist oder von Baikal nativ auf Docker wechseln möchte! Wichtig ist jedoch, dass beim Erstellen der beiden Ordner über Docker in den Ordner „Specific“ noch ein Unterordner „db“ zusätzlich erstellt werden muss!
Zum Abschluss übernehmen wir alle Einstellungen und beenden somit den Assistenten. Jetzt sollte Baikal Docker automatisch gestartet werden und unter der Adresse http://IPoderNamenderDiskstation+Port die Einrichtungsseite erreichbar sein.
4. Nachdem wir bereits auf die Einrichtungsseite gelangt sind, können wir jetzt die Zeitzone und ein Admin-Passwort einstellen (sofern die Config aus einer alten Installation nicht übernommen wurde). Als nächstes werden wir nach der Datenbank gefragt – dort erstellen wir einfach eine (Button), entfällt wenn bereits eine Datenbank vorhanden ist.
5. Ihr werdet auf die Adminseite weitergeleitet und könnt jetzt nach Belieben euer User, Adressbücher, Kalender und Kontakte einrichten. Wer bereits eine bestehende Datenbank kopiert hatte, sollte jetzt wieder alle User und Einträge sichtbar haben. Wenn nötig könnt Ihr über den Reverse Proxy (Systemsteuerung>Anmeldeportal>Erweitert>Reverse Proxy) eure Dyndns oder Zertifikat aufschalten oder die Ports ändern. Darauf werde ich wie bei der Firewall oder Portfreigabe im Router jetzt nicht eingehen.
6. Euer Baikalserver ist unter folgende Andressen erreichbar:
Vorweg möchte ich sagen, dass das Schreiben der Anleitung wesentlich länger gedauert hat, als die Einrichtung des Servers selbst. Ich verwende Bailkal-Docker auf einer 1513+ mit nginx und php_8.1. Die Einrichtung dürfte nicht länger als 3-5 Minuten dauern.
Es gibt natürlich unterschiedliche Herangehensweisen auf die ich nur kurz eingehen werde. Das betrifft z.B. das Erstellen der Ordner mit der Filestation oder aus Docker direkt oder das Netzwerk in Docker - ob als Bridge oder Macvlan. Ich beschreibe hier die Einrichtung über das Synology UI – eine Installation via Portainer ist natürlich ebenfalls möglich. Wer lieber MariaDB/MySQL nutzen will, kann dieses ebenfalls machen - diese Anleitung bezieht sich jedoch auf sqlite (DSM).
1. Als erstes benötigen wir die Software. Diese können wir bequem über das Paket- Zentrum herunterladen. Wir suchen also nach der App „Docker“ und installieren diese. Anschließend sollte Docker automatisch ausgeführt werden und so aussehen. Danach können wir das Paket-Zentrum schließen.
Wer Baikal noch nicht genutzt hat, oder eine Neuinstallation vornimmt, kann diesen Schritt überspringen und die Ordner direkt in Docker anlegen! Wer bereits Baikal genutzt hat und mit seiner Datenbank in Docker umziehen möchte, liest hier weiter.
2. Wir erstellen die benötigten Ordner mit der Filestation, damit die Daten auch dauerhaft z.B. nach einem Neustart oder Stromausfall vorhanden sind und nicht nur virtuell im Container. Wir öffnen die Filestation. Im Root der Diskstation sollte ein „docker“ Ordner vorhanden sein. Dort hinein erstellen wir einen Ordner „baikal“. In diesem Ordner erstellen wir 2 weitere Ordner: „config“ und „Specific“. In „Specific“ erstellen wir einen weiteren Unterordner „db“. Dort hinein können wir unsere vorhandene Datenbank „db_sqlite“ von /web/baikal/Specific/db nach /docker/baikal/Specific/db kopieren. Somit sind alle Datensätze nach Installation wieder vorhanden.
Von dem Kopieren der Einstellung rate ich ab, es sei denn man ändert den Pfad der Datenbank in der „baikal.yaml“ im Ordner „config“ manuell. Der Pfad für die sqlite Datenbank sollte wie folgt angepasst werden: von /volume1/web/baikal/Specific/db/db.sqlite nach „/var/www/baikal/Specific/db/db.sqlite“ Nach dem Ändern kann auch die Config von /web/baikal/config nach /docker/baikal/config kopiert werden und alle Einstellungen bleiben erhalten. Da aber eh nur das Admin Passwort und die Zeitzone als Standard eingestellt werden müssen, ist das eher zu vernachlässigen.
3. Jetzt kommen wir zum eigentlichen Docker, wir öffnen die Docker-App und gehen auf das Register: Registrierung.
Dort geben wir oben rechts in der Suche den Begriff „baikal“ ein. Wir wählen den ersten Eintrag chulka/baikal aus und installieren uns den Container mit dem Tag: nginx. Anschließend wird der Container selbstständig heruntergeladen. Mit diesem Tag sind auch zuküntige Updates möglich - ohne abhängig von der Versionsnummer zu sein. Der Container bietet immer die letzte Version von Baikal + php + nginx als Webserver an. Somit ist ein automatisches Aktualisieren mit Watchtower möglich, damit ihr immer auf den neusten Stand seit. Leider lief keine Apache-Version auf meiner 1513+/ i386, bei der nativen Installation war das genau anders herum, dort lief nginx nicht!
Wir wechseln jetzt auf den Reiter Image in der Docker App und Starten den Baikal Container mit Doppel-Klick oder mit den Button. Wir nehmen die Settings in den erweiterten Einstellungen wie folgt vor:
Bei den Container-Namen, den Netzwerkeinstellungen oder Ports können natürlich individuelle Einstellungen vorgenommen werden. So kann man mit Macvlan den Container eine eigen IP verpassen usw. Ich gehe aufgrund der Länge jetzt nicht darauf ein – kann aber gerne im Thread diskutiert werden. Auch können unter Volumen die Ordner im Docker direkt erstellt werden und nicht wie vorher in der Filestation (Schritt 2) – das macht eher Sinn wenn bereits eine Datenbank vorhanden ist oder von Baikal nativ auf Docker wechseln möchte! Wichtig ist jedoch, dass beim Erstellen der beiden Ordner über Docker in den Ordner „Specific“ noch ein Unterordner „db“ zusätzlich erstellt werden muss!
Zum Abschluss übernehmen wir alle Einstellungen und beenden somit den Assistenten. Jetzt sollte Baikal Docker automatisch gestartet werden und unter der Adresse http://IPoderNamenderDiskstation+Port die Einrichtungsseite erreichbar sein.
4. Nachdem wir bereits auf die Einrichtungsseite gelangt sind, können wir jetzt die Zeitzone und ein Admin-Passwort einstellen (sofern die Config aus einer alten Installation nicht übernommen wurde). Als nächstes werden wir nach der Datenbank gefragt – dort erstellen wir einfach eine (Button), entfällt wenn bereits eine Datenbank vorhanden ist.
5. Ihr werdet auf die Adminseite weitergeleitet und könnt jetzt nach Belieben euer User, Adressbücher, Kalender und Kontakte einrichten. Wer bereits eine bestehende Datenbank kopiert hatte, sollte jetzt wieder alle User und Einträge sichtbar haben. Wenn nötig könnt Ihr über den Reverse Proxy (Systemsteuerung>Anmeldeportal>Erweitert>Reverse Proxy) eure Dyndns oder Zertifikat aufschalten oder die Ports ändern. Darauf werde ich wie bei der Firewall oder Portfreigabe im Router jetzt nicht eingehen.
6. Euer Baikalserver ist unter folgende Andressen erreichbar:
- Server Status: http(s)://IPoderNamenderDiskstation+Port
- Admin Portal: http(s)://IPoderNamenderDiskstation+Port/admin/
- Cal+Carddav: http(s)://IPoderNamenderDiskstation+Port/dav.php
- Caldav: http(s)://IPoderNamenderDiskstation+Port/cal.php
- Carddav: http(s)://IPoderNamenderDiskstation+Port/card.php
Großen Dank an Bytehamster, der das Projekt vor einiger Zeit wieder aufgenommen hat und an ckulka, welcher die Docker-Images bereitstellt und natürlich an ALLE die das Projekt unterstützen.
Ich hoffe, dass ich nichts vergessen habe und jetzt viel Spaß damit.
Zuletzt bearbeitet: