Radicale Docker htpasswd File wird nicht gefunden

jo89

Commander
Registriert
Apr. 2011
Beiträge
2.390
Hallo Leute,
ich bin gerade dabei mich mehr und mehr von verschiedenen Diensten aus der Cloud zu lösen.

Dabei bin ich jetzt über Radicale für Termine und Adressbücher gestolpert. Den Dienst würde ich gerne im Docker (Unraid) installieren. Grundsätzlich ist mir das auch gelungen. Config usw ist schon erstellt. Sobald ich jetzt aber versuche User zu erstellen startet der Docker nicht mehr. Laut LOG passiert folgendes:
[CRITICAL] An exception occurred during server startup: Failed to load htpasswd file '/appdata/radicale/config/users': [Errno 2] No such file or directory: '/appdata/radicale/config/users'

Im Config-File habe ich den Pfad bzw. das htpasswd File auf "htpasswd_filename = /appdata/radicale/config/users" gestellt. Das Verzeichnis sowie die Datei existieren natürlich auch.
Ich habe den Pfad auch schon mehrfach geprüft - er existiert definitiv genau so. Auch die "users" Datei darin.

Kennt jemand das Problem oder kann mir helfen? Evtl übersehe ich einfach nur etwas ganz banales?

Anbei noch die Config
[auth]
type = htpasswd
htpasswd_filename = /appdata/radicale/config/users
# encryption method used in the htpasswd file
htpasswd_encryption = bcrypt
 
wie kommt die config in den Container / wie ist sie vom host ans Ziel gemapped

Hast du mal in den den Container geschaut, ob du sie finden kannst? (... exec -it containerId /bin/bash)
 
  • Gefällt mir
Reaktionen: Der Lord
Der Pfad für die config wird über eine festen Pfad im Container vorgegeben.
Container Path: /appdata/radicale/config

Das wird auch gefunden und scheint grundsätzlich zu funktionieren. Ändert man den o.g. Pfad für die Users im Config-File ändert sich auch direkt der angezeigte (fehlerhafte) Pfad im LOG.
 

Anhänge

  • radi.png
    radi.png
    14,9 KB · Aufrufe: 43
Der Pfad existiert so ja offensichtlich nicht. Im Screenshot denke ich mal sind die linken pfad im Container, rechts auf dem Host.

Ein /appdata/radicale/config/users gibt es darin weder auf dem Host noch im Container.
 
Kyze schrieb:
Ein /appdata/radicale/config/users gibt es darin weder auf dem Host noch im Container.
Eben genau der existiert.
Docker in Unraid mapt die Pfade automatisch auf die jeweiligen Verzeichnisse. Das ist dann sehr bequem da man dan theoretisch sogar per Dateibrowser darauf zugreifen kann.
 
Ich bin kein Docker Profi, aber ich glaube, Du musst in der Config /etc/radicale/users eintragen, das mapping auf /appdata/... passiert dann ja automatisch? 🤷‍♂️

Der /appdata/ Pfad existiert ja im Container nicht
 
Auch das hatte ich schon versucht. Das ändert leider nichts.
Das config File wird in /appdata/radicale/config aber definitiv gefunden und funktioniert. Stelle dort nämlich den "[auth]type" auf NONE startet der Dienst direkt und ich kann mit dann (mit jedem) Passwort anmelden.
Aber das ist es ja eigentlich was ich nicht möchte.

Inzwischen glaube ich einfach, dass ich einen Knoten (im Kopf) bei den users bzw. htpasswd habe.
 
-Die Datei "users" wurde auch mit htpasswd -B erstellt?
-Die Datei "users" ist auch als non-root lesbar? (chmod 644?)
 
Ok also hast du die Datei im Container erstellt. Wichtig zu wissen: wenn du den wegwirfst durch Update oder so, ist die Datei weg.
Lieber mit einem Mapping oder volume arbeiten für persistente Daten.

Da die Meldung ziemlich eindeutig ist wird es Richtung Berechtigungen auf der Datei rauslaufen, wie sind die gesetzt ? Vielleicht von Root und Radicale läuft als anderer User ?
 
  • Gefällt mir
Reaktionen: madmax2010
Metalveteran schrieb:
-Die Datei "users" wurde auch mit htpasswd -B erstellt?
-Die Datei "users" ist auch als non-root lesbar? (chmod 644?)
Nein
und
Ja

Ich hatte die Datei per Editor erstellt und hochgeladen. Wie ich htpasswd korrekt anwende weiß ich leider nicht.
 
htpasswd -B -c /pfad/auf/host/users dein_benutzername
für weitere user das -c weglassen


Für sowas ist KI wirklich sehr hilfreich, so als Tip :)
 
Zurück
Oben