Hilfe zur Installation von Vikunja im Docker

Status
Für weitere Antworten geschlossen.

gender

Benutzer
Mitglied seit
25. Mrz 2012
Beiträge
48
Punkte für Reaktionen
2
Punkte
8
Hallo Forengemeinde,
wie der Titel schon sagt, suche ich Hilfe dabei, Vikunja im Docker zu installieren.

Grundsätzlich habe ich schon einige Container im Docker am laufen (z.B. eine Datenbank etc.) aber bei Vikunja komme ich nicht weiter.

Unter https://vikunja.io/docs/install-backend/ ist eine kurze Anleitung, wie das ganze im Docker zu installieren ist. Ich habe also das offizielle Backend-Image heruntergeladen, dann in der Synology-Docker-App einen Container erstellt und dabei einen Pfad zur Config-Datei angelegt. In der Config.yml habe ich meine Datenbank-Einstellungen vorgenommen.

Den Port habe ich bei 3456 belassen. Den Port habe ich außerdem in der Synology-Firewall offen gelassen.

Anschließend habe ich das Frontend-Image heruntergeladen und auch hiervon einen Container erstellt, allerdings mit einem anderen Port als 80, da ja 80 belegt ist (in meinem Fall dann 8083)
Wenn ich nun versuche, dass Frontend mit http://IPMeinesNAS:8083 aufzurufen, passiert leider gar nichts bzw. es gibt die Fehlermeldung, dass die Seite nicht geladen werden kann.
Ich weiß auch nicht, wie ich prüfen kann, ob das Backend überhaupt richtig läuft.

Vielleicht kann mir jemand helfen, der sich mit (Synology)Docker gut auskennt.

Ich habe außerdem auch mal das Frontend in der Javascipt-Version runtergeladen (https://vikunja.io/download/) und ins web-Verzeichnis gelegt. Wenn ich dort das ganze aufrufe, bleibt die Seite allerdings einfach leer (ohne Fehlermeldung).
 

gender

Benutzer
Mitglied seit
25. Mrz 2012
Beiträge
48
Punkte für Reaktionen
2
Punkte
8
Inzwischen konnte ich das Problem selbst lösen:
Ich hatte leider die falschen Ports benutzt bzw. nicht vom local-port 8083 auf den Container-Port 80 weitergeleitet.

Jetzt gibt es aber ein neues Problem: Ich sehe die Oberfläche des Frontends: Will ich mich registrieren oder einloggen, kommt der HTTP-Fehler 405 (Method not allowed). Auch googlen hilft da nur bedingt weiter.
Irgendwie streubt sich der Nginx scheinbar...
Was kann ich tun?
 

gender

Benutzer
Mitglied seit
25. Mrz 2012
Beiträge
48
Punkte für Reaktionen
2
Punkte
8
So, habe es nun hinbekommen. Es lag nicht direkt an ngingx. Der 405-Fehler war einfach ein Fehler, da nicht auf das Backend zugegriffen werden konnte.
Folgendes muss man nachvollziehen: Das Frontend geht davon aus, dass das Backend im gleichen Verzeichnis liegt. Da sowohl Frontend als auch Backend in verschiedenen Docker-Container liegen, geht das aber so nicht.

Die Lösung ist, eine extra nginx-config anzulegen, die bei einsprechendem Aufruf über nginx im Frontend dann an das Backend weiterleitet.

server {
listen 8090;

location / {
proxy_pass http://frontend:8083;
}

location /api/ {
proxy_pass http://api:3456;
}
}

Blöderweise kann man als "listen port" nicht direkt den Port des Frontends angeben. Ich hatte dann immer das Problem, dass ich den Frontend-Container nicht mehr erstellen konnte, da der Port schon belegt war. Also wird jetzt auf Port 8090 gelauscht.
Der leitet dann weter an das Frontend auf Port 8083. Sobald man sich einloggen oder registrieren will, leitet das frontend auf /api/ weiter. Dieses liegt aber im Backend in einem anderen Container. Daher dann die regel, dass auf Port 3456 weitergeleitet wird.
So hat es dann bei mir funktioniert.
 
Status
Für weitere Antworten geschlossen.
 

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