Nachdem Nextcloud für mich ausgeschieden war, musste eine andere Lösung für die Kernaufgabe "Dateiablage" her. Ich bin dabei relativ schnell auf Filebrowser gestoßen, der einerseits recht leichtgewichtig bzw. minimalistisch ist, andererseits jedoch neben den essenziellen Funktionen auch etwas Komfort bietet:
Weiterhin ist es möglich, über eine Shell-Funktion Programme aufzurufen, die zuvor über eine
Whitelist explizit freigegeben wurden. Damit lassen sich z.B. nach einer Freigabe von wget
Dateien
direkt aus dem Internet auf den Fileserver runterladen, anstatt den Umweg über den lokalen Rechner nehmen
zu müssen.
Die Dokumentation sagt sinngemäß "installieren,
auf ein Verzeichnis deuten, los geht's". Das stimmt auch ungefähr, allerdings ist bei einem
Docker-Container eine Spur mehr zu beachten. Ich verwende die folgende docker-compose.yaml
:
services: app: image: filebrowser/filebrowser ports: - "8080:80" volumes: - ./filebrowser.json:/.filebrowser.json:ro - <Pfad zu TLS-Zertifikat>:/cert:ro - <Pfad zu den Dateien>:/srv - <Pfad zur Datenbank>:/database.db command: --disable-preview-resize --disable-thumbnails
Beim Rumspielen ist mir der Raspberry Pi mehrfach abgeschmiert, weil Filebrowser zu viel Speicher gefressen hat
(700 MB und mehr). Dieses Problem scheint bei Verzeichnissen mit vielen bzw. großen Bildern aufzutreten
und mit den Vorschaubildern (Thumbnails) zusammenzuhängen, die durch das Hinzufügen des
Kommandozeilenparameters --disable-thumbnails
deaktiviert werden können. Mit dieser Option
habe ich keine Abstürze mehr beobachtet und das Laden der Verzeichnisse geht auch deutlich flotter.
Eine weitere hilfreiche Option ist --disable-preview-resize
. Normalerweise werden Bilder für
die Anzeige passend runtergerechnet und können mit einem "HD"-Button in voller Größe angezeigt
werden. Auch diese Funktion verschlingt große Mengen an Arbeitsspeicher, die mein Raspberry Pi nicht hat.
Wird die Funktion deaktiviert, überlässt Filebrowser die Anzeige dem Webbrowser (was bei mir ebenfalls
dazu führt, dass das Bild für die Anzeige passend gezoomt wird, aber eben clientseitig). Durch Zoomen
mit dem Mausrad bzw. "in neuem Tab öffnen" oder Runterladen des Bilds sieht man wieder alle Details.
Die Volumes verdienen ebenfalls noch ein paar Worte:
/srv
zu verstehen ist.
touch database.db
),
weil Docker sonst ein Verzeichnis dieses Namens anlegt, womit wiederum die Datenbank nicht klar
kommt.
Soweit ich sehen konnte werden in der Datenbank keine Meta-Informationen zu den Dateien abgelegt, d.h. man kann auch prima "hintenrum" welche dazu legen. Ich spiele mit dem Gedanken, später noch einen Samba-Server einzurichten, um die Dateien auch als nur-lesbare Windows-Freigabe verfügbar machen zu können.
Filebrowser kommt bei mir definitiv in die "do want"-Liste. Es erfüllt genau meine Ansprüche in Bezug auf die bequeme Ablage und dem Schnell-mal-reinschauen für eine große Menge an Dateien, die die meiste Zeit nur rumliegen (z.B. ganze Jahrgänge von Zeitschriften-Scans). Das Einzige, das ich vermisse, ist die Möglichkeit einer Verzeichnisfreigabe die man ins lokale Dateisystem einbinden kann, um mit lokal installierten Programmen arbeiten zu können, ohne die Dateien runter- und wieder hochladen zu müssen. Andererseits stellt dies für den Moment einen effektiven Schutz vor Ransomware-Angriffen dar. ;-)