dockerised webdav server στο raspberry

webdav

To docker-nginx-webdav-nononsense είναι ένα ένας nginx webserver με ενεργοποιημένο και σεταρισμένο το webdav module και έτοιμος να λειτουργήσει σάν ένας file server που χρησιμοποιεί το webdav protocol και ολα αυτα πακεταρισμένα σε ένα docker container.

Φάκελοι του webdav server μπορούν να γίνουν mount σε ένα remote file system και να έχουμε πρόσβαση σε αυτόν απο τον remote file manager

To αποτέλεσμα είναι ενα εύκολο και γρύγορο personal cloud χωρίς αχρήαστες λειτουργίες δίχως νόημα

link

Εγκατάσταση

Κάνουμε clone το repo

git clone https://github.com/dgraziotin/docker-nginx-webdav-nononsense.git

Μπαίνουμε στο φάκελο

cd docker-nginx-webdav-nononsense

Ανοίγουμε το αρχείο για επεξεργασία

nano doocker-compose.yml

Στο volumes section δηλώνουμε το path του root dir . Εγώ έχω βάλει το root folder του external hard drive μου .

/path/to/data/folder/on/host:/data

Δηλώνουμε το user id & group id

PUID=1000

UUID=1000

Βάζουμε στο timezone Athens

TZ=Europe/Athens

Βάζουμε τα username και password ώς enviromental variables

WEBDAV_USERNAME=xxxxxx

WEBDAV_PASSWORD=xxxxx

Δηλώνουμε τα allowed hostnames απο όπου θα επισκεπτόμαστε τον server χωρισμένα με comma

SERVER_NAMES=localhost,myddns.domain.net

Όλες οι διαθέσιμες enviromenatal variables όπως διάφορα nginx timeouts, μέγεθος file upload κτλ βρίσκονται στο github project page

build from source and run the container

docker-compose build && docker-compose up

reverse proxy

Το container δεν υποστηρίζει ssl cert . O dev παροτρύνει τη χρήση reverse proxy και τη διαχείριση του ssl cert απο αυτό . Προσωπικά χρησιμοποιώ caddy

nano /etc/caddy/Caddyfile

add

ddns.domain.name:open_router_port { reverse_proxy localhost:32080

Ο webdav server τρέχει στο localhost:32080 και έχουμε πρόσβαση σε αυτον με ssl encryption εκτός τοπικού δικτύου μέσω του ddns μας . Το caddy αναλαμβάνει το πιστοποιητικό και την ανακατεύθυνση στη localhost .

Android

Στο android έχουμε πρόσβαση με οποιοδήποτε webdav capable filemanager πχ mixplorer,solid,fe,cx

Κάποιοι προσφέρουν και αυτόματο συγχρονισμό σαν paid feature όμως.
Η μόνη δωρεάν εφαρμογή που βρήκα και διαθέτει αυτόματο συγχρονισμό είναι το foldersync

accountstab

  • new acount
  • webdav
  • Βάζω custom title
  • username(WEBDAV_USERNAME)
  • password(WEBDAV_PASSWORD)
  • ip(το ddns domain name)
  • port (η ανοιχτή θύρα στο router που δώσαμε και στο caddy)

sync tab

  • enter
  • επιλέγω send anly (η send&receive , οτι μας βολεύει)
  • επιλέγω local folder to sync
  • επιλέγω remote folder (σερβερ)

Αυτόματο συγχρονισμό δεν επιλέγω από εδώ αλλά πιο μετά στο “περισσότερα”

Στο more settings του sync tab

  • Στην αντικατάσταση παλαιότερου αρχείου επιλέγω “να εξαιρεθούν”
  • ενεργοποιώ την αυτόματη αποστολή
  • απενεργοποιώ το προσωρινό όνομά αρχείου κατά τη μεταφορά

Στο connect του sync tab

  • επιλέγω wifi only ή data

Κάθε φορά που ένα νέο αρχείο θα προστήθετε στο local folder θα γίνετε αυτόματα sync στον webdav server

Το παρόν είναι αναδημοσίευση του blogpost μου εδώ

4 «Μου αρέσει»

Παρα πολυ ωραια.
Ευχαριστουμε

OK Ωραιο το docker container… αλλα πως γινεται να το κανουμε multi-user; δηλαδη να μπορει να μπει ο χρηστης mitsos & o χρηστης kitsos στο ιδιο docker container σε προσβαση σε δυο διαφορετικα home directories (αν πουμε οτι το path διχνει στο home directory του καθε χρηστη);

Υποστηρίζει http apache flat files που τα κάνεις store στο volume ./htpasswd:/etc/nginx/htpasswd εκεί μπορεις να ορίσεις admin και users αλλά ο ριζικός κατάλογος δεν μπορεί να είναι διαφορετικός

Το container είναι τέρμα απλό αλλά είναι ακριβώς αυτό που θέλω

Στην ίδια λογική Dockerised webdav servers υπάρχουν και άλλα project πιο πλούσια σε ρυθμίσεις και πιο δημοφιλή

Το Dave πχ υποστηρίζει user gails ssl certs και γενικά είναι πιο γεμάτο

Αν νομίζεις θα σε καλύψει ρίξε μια ματιά

Link

2 «Μου αρέσει»