Tip für Setup eines privaten Dateiservers & Datei-Synchronisierung

SolarCatcher

Well-Known Member
Hallo, ich habe mich noch nie damit beschäftigt und würde gerne mal Tipps haben, in welche Richtung ich suchen/lesen sollte: Ich möchte für unsere Familie einen kleine Fileserver auf FreeBSD-Basis einrichten, auf den wir von verschiedenen Geräten zugreifen können (v.a. von FreeBSD und Ubuntu; wenn das auch von Windows und/oder iOS ginge, wäre das zusätzlich interessant).

Ich würde gerne "Familien-Verzeichnisse" zentral auf dem Heimserver ablegen. Diese sollten aber auch lokal auf den FreeBSD- und Ubuntu-Laptops verfügbar sein, wenn man mal nicht zuhause im Heimnetz ist. Einfach im Heimnetz ein NFS- oder SMB-Share einhängen, würde mir also nicht reichen.

Wie geht man da vor, welche Software verwendet man für sowas am besten?
 
Klingt nach einem Job für syncthing, habe ich privat für genau sowas im Einsatz. Kann alles von dir angesprochene. Eventuell wäre Next/OwnCloud auch ne Lösung, wenn du den Webzugriff/Calender/Textverarbeitungs und so nicht brauchst aber overkill, syncthing ist auch schneller und einfacher eingerichtet.

edit iOS bin ich mir nicht ganz sicher, das verwende ich nicht, syncthing gibt es da auch, eine wirklich lückenlose synchro klappt da aber wohl nicht (Systembedingt aber wohl mit keinem Dienst wenn nicht von Apple selbst).
 
Klingt nach einem Job für syncthing, habe ich privat für genau sowas im Einsatz. Kann alles von dir angesprochene. Eventuell wäre Next/OwnCloud auch ne Lösung, wenn du den Webzugriff/Calender/Textverarbeitungs und so nicht brauchst aber overkill, syncthing ist auch schneller und einfacher eingerichtet.

Da schließ ich mich an.

Wenn du iOS oder Android mit einbinden möchtest und auch etwas "Komfort" und "Es funktioniert recht unauffällig" haben möchtest eher Nextcloud. Wenn Linux, *BSD und Windows eher der Fokus sind ist syncthing das ich selber nur begrenzt kenne eine etwas schlankere Alternative.
 
Für iOS kann ich wie schon gesagt nicht sprechen, aber syncthing läuft bei meinem Android, und auch auf Androids von Bekannten/Familie absolut problemlos und unauffällig.

Man hat halt wirklich immer "nur" die 1:1 Kopie des synchronisierten Ordners, nicht wie bei Nextcloud einen Webzugriff wo man auch Dinge nur auf dem Server haben kann (wie bei GoogleDrive).
 
Vielen Dank, schon einmal, @medV2 und @CommanderZed .

Syncthing habe ich auch schon verwendet, allerdings nur für sehr beschränkte Datenbestände. Eignet sich das auch für größere Ordnerstrukturen?

Wenn ich mich recht erinnere, muss man eine Frequenz einstellen, wie oft synchronisiert wird. Gibt es bei Syncthing und/oder NextCloud vielleicht sogar soetwas wie einen Filemonitor, der bei Änderungen an einer Datei diese und nur diese Datei synchronisiert (ähnlich wie es einige Backup-Lösungen anbieten)?
 
Also gigantische Ordnerstukturen hab ich jetzt nicht, aber mehrere 20-30 GB in ner Handvoll Ordner. Eigentlich sollte aber von Aufbau auch viel mehr möglich sein, wie gesagt nur von mir nicht getestet.

Syncthing hat nen Filemonitor, zumindest unter Lin, FreeBSD und Android, Win bin ich mir gerade nicht sicher.


edit

Filemonitor ist eigentlich falsch, es nutzt die bereitgestellten Schnittstellen vom Kernel um Änderungen mit zu bekommen.
 
@SolarCatcher - wenn du ne komfortable Weboberfläche haben möchtest, schau dir auch mal TrueNAS Core an

Die TrueNAS Core Installation läuft bei mir seit Jahren als SATA-SSD-über-USB-Adapter ohne Probleme an nem USB3 Anschluss vom Mainboard, die System-Disk belegt also keinen SATA oder nvme Port.
Ich mach regelmäßig bei Änderungen ein Backup der Konfig, im Fall der Fälle ist es einfach ein Tausch der SSD, Installation von TC Core und einspielen der letzten Konfig (in 5 Minuten erledigt), dann läuft der Server wieder wie vorher, ein (ZFS) Raid oder so ist dafür eigentlich nicht notwendig.

Hatte mir mal testweise ein "richtiges" FreeBSD dafür installiert, bin aber wg der relativen Einfachheit der ZFS-Schlüsselverwaltung wieder zum TrueNAS zurück - für mich war das die einfachere Lösung als ein nativ installiertes aktuelles FreeBSD.

syncthing hatte ich lange nicht, bin aber jetzt geläutert und davon überzeugt, das läuft sogar zwischen verschiedenen syncthing-Versionen ohne Probleme, ich halte ca 50GB damit zwischen TrueNAS Core (da allerdings mit ner Linux-VM), ner FreeBSD- und ner Linux-Maschine über LAN und WiFi synchron, mir wär noch kein Problem untergekommen;
 
Syncthing habe ich auch schon verwendet, allerdings nur für sehr beschränkte Datenbestände. Eignet sich das auch für größere Ordnerstrukturen?

Ich weiß nicht, wie groß die Datenbestände sind, die du im Sinn hast. Aber meine Musiksammlung ist für eine Privatperson zumindest nicht "winzig", ungefähr 4.000 Alben mit insgesamt etwa knapp 45.000 einzelnen Dateien - und wird mit Syncthing zwischen verschiedenen Systemen (Debian, OpenBSD) synchronisiert. Ohne jede Probleme oder merkliche Einbrüche bei der Performance.
 
Seafile macht dad bei mir seit vielen Jahren in unterschiedlichsten Settings.
Von Seafile hatte ich erstmals vor einigen Tagen hier im Forum gehört. Das klingt sehr interessant und ausgereift. Den einzigen Nachteil, den ich auf Anhieb sehe, ist, dass die Daten auf dem Server in MySQL oder SQLite abgelegt werden. Syncthing liesse mir direkten Zugriff über das Dateisystem, inkl. Möglickeiten wie ZFS-Snapshots.


wenn du ne komfortable Weboberfläche haben möchtest, schau dir auch mal TrueNAS Core an
Ja, von TrueNAS habe ich auch immer nur Positives gehört. Scheint mir aber fast etwas Overkill für meinen sehr beschränkten Usecase zu sein. Und irgendwie hörte ich, dass die FreeBSD-basierte Version quasi auf‘s Abstellgleis gefahren worden zu sein? Ich würde wirklich gerne FreeBSD als Unterbau nutzen, weil ich mich damit am besten auskenne.

Syncthing hat nen Filemonitor, zumindest unter Lin, FreeBSD und Android, Win bin ich mir gerade nicht sicher.


edit

Filemonitor ist eigentlich falsch, es nutzt die bereitgestellten Schnittstellen vom Kernel um Änderungen mit zu bekommen.
Früher scheint Syncthing hierfür ein separates Tool, syncthing-inotify, dafür gehabt zu haben - ist das heute integriert? Und wie nutzt man das?
 
Früher scheint Syncthing hierfür ein separates Tool, syncthing-inotify, dafür gehabt zu haben - ist das heute integriert? Und wie nutzt man das?

Ist wohl mitlerweile integriert. Um ehrlich zu sein: Auch wenn ich früher syncthing auch auf FreeBSD hatte (und da hat das definitiv alles funktioniert) hab ich derzeit alle Server auf Linux. Da starte ich einfach den OCI Container und freue mich, dass alles funktioniert :)


wieder ein edit (wird hier zur Gewohnheit :D)

Ist übrigends ein Tipp, zum testen. 1-2 Linux VMs mit dem oci container, das ist ein einzeiler und du kannst loslegen (bei Rhel und Konsorten muss SELinux Context noch angepasst werden - oder zum Testen - einfach deaktivieren). Bzw. falls du AWS Konto oder ähnliches hast, dort zum testen kurz 2 VMs hochfahren, kostet keine 50 Cent für ne Stunde zum rumspielen. Dann siehst du ob alles dienen Anforderungen entspricht! Danach kannst du fein säuberlich auf Produktiv einrichten.
 
Zuletzt bearbeitet:
Ja, von TrueNAS habe ich auch immer nur Positives gehört. Scheint mir aber fast etwas Overkill für meinen sehr beschränkten Usecase zu sein. Und irgendwie hörte ich, dass die FreeBSD-basierte Version quasi auf‘s Abstellgleis gefahren worden zu sein? Ich würde wirklich gerne FreeBSD als Unterbau nutzen, weil ich mich damit am besten auskenne.
TrueNAS Core ist sozusagen eine auf das wesentlichste für den Betrieb eines Filers reduzierte Appliance Version von FreeBSD (aktuell) 13.2, das Update auf 13.3 soll demnächst kommen.

Wenn du dich mit FreeBSD gut auskennst, nimm natives FreeBSD - mir persönlich gefällt halt der Appliance-Charakter von TrueNAS gut und für mich ist das für meinen Einsatzzweck (der Server im Haus) die bequemere Lösung als ein natives FreeBSD; das muss aber nicht auf andere zutreffen.
Ob das Overkill für deinen Einsatzzweck sein würde, kannst du am Besten entscheiden.

Core ist noch nicht direkt abgekündigt (soweit ich weiß), es gibt einen mittlerweile mehrseitigen Thread im alten TrueNAS Forum welcher das Problem thematisiert, hatten wir hier im Forum letztens auch angesprochen;

Man könnte ja die bestehenden ZFS Volumes vom Core im Fall der Fälle mit nativem FreeBSD oder gar Linux weiternutzen.
Ich hatte immer wieder mal Pools, welche ich munter zwischen diesen Betriebssystemen ausgetauscht hatte - man darf halt nicht mit dem OS mit der neuesten zfs Version ein zpool upgrade auf einem Pool machen, dann bleiben die Pools kompatibel; und man muss sich bei verschlüsselten Pools halt selber um die Keys und das entsperren der zpools auf FreeBSD und Linux kümmern.
 
Von Seafile hatte ich erstmals vor einigen Tagen hier im Forum gehört. Das klingt sehr interessant und ausgereift. Den einzigen Nachteil, den ich auf Anhieb sehe, ist, dass die Daten auf dem Server in MySQL oder SQLite abgelegt werden. Syncthing liesse mir direkten Zugriff über das Dateisystem, inkl. Möglickeiten wie ZFS-Snapshots.
In mysql bzw sqlite landet nur die Verwaltung. Die eigentlichen Datein landen in Bibliotheken, die proprietäre Dateien sind.
Man kann diese auf der console per Tool quasi entpacken.
Muss sich dann dazu einen händischem Zugang schaffen.
 
Bezgl syncthing und iOS würde ich hier mal gucken:

 
Fuer iPhone gibt es Moebius. Das nutze ich auf meinem Firmensmartphone. Das kostet einmalig einen kleinen Betrag und ist ein vollstaendiges und gepflegtes Syncthing. Unter Android ist Syncthing kostenlos.
 
@SolarCatcher: Halte uns mal bitte auf dem Laufenden und wenn du fertig bist, könntest du vielleicht dein Setup genauer beschreiben?
Ich hatte vor ein paar Tagen auch mal angedacht, Syncthing auf meinem Server, Android und Windows einzurichten, aber bin bisher noch nicht wirklich dazu gekommen.
 
Und irgendwie hörte ich, dass die FreeBSD-basierte Version quasi auf‘s Abstellgleis gefahren worden zu sein? Ich würde wirklich gerne FreeBSD als Unterbau nutzen, weil ich mich damit am besten auskenne.
Was die extensions/plugins betrifft bin ich nicht aktuell, ich nutze regulär FreeBSD.

Overkill ist das nicht. Du konfigurierst nur, was du auch nutzen möchtest und das sehr bequem.

Edit:
Syncthing steht sogar auf der Featureliste. :)
 
@SolarCatcher: Halte uns mal bitte auf dem Laufenden und wenn du fertig bist, könntest du vielleicht dein Setup genauer beschreiben?
Ich hatte vor ein paar Tagen auch mal angedacht, Syncthing auf meinem Server, Android und Windows einzurichten, aber bin bisher noch nicht wirklich dazu gekommen.
Das werde ich sehr gerne tun - ich hoffe, dass ich in den nächsten 2 Wochen endlich die Zeit dafür finde.
 
  • Like
Reaktionen: lme
Ich würde gerne "Familien-Verzeichnisse" zentral auf dem Heimserver ablegen. Diese sollten aber auch lokal auf den FreeBSD- und Ubuntu-Laptops verfügbar sein, wenn man mal nicht zuhause im Heimnetz ist. Einfach im Heimnetz ein NFS- oder SMB-Share einhängen, würde mir also nicht reichen.
Für auf dem Heimserver zentral abgelegte "Familien-Verzeichnisse" würde im Prinzip ftpd ausreichen. Bei FreeBSD im Basissystem enthalten und ganz einfach mit service ftpd onestsartzu starten, dann hat man gleich auf alle User-Verzeichnisse (Familien-Verzeichnisse) zugriff vou außen (Heimnetzwerk), z.B. mit den geläufigen Filemanagern unter Linux/BSD wie caja, Thunar, etc oder auch über den Windows Explorer (Für Windows gibt es ja auch noch Filezilla).
Für den Fall, dass man nicht zuhause ist, muss man halt im Heimrouter für den ftp-Server Portforwarding aktivieren, damit man über das Internet zugreifen kann.
Das wäre so mein einfacher und schneller Ansatz mit Bordmitteln, sowohl auf dem Server, als auch auf den Clients.
 
Davon würde ich, vor allem ab dem Punkt der Erreichbarkeit aus / über dem Internet, dringend abraten.
 
Was ist denn eigentlich mit Versionierung und Sperrung oder Merging gleichzeitiger Bearbeitung?
 
Der Threadsteller sagt aber:

Wie soll das denn sonst gehen, wenn nicht über das Internet?
So, wie vor der Zeit als Internet fast überall frei verfügbar war: Der Laptop hat eine Festplatte (SSD) und da müssen die Daten (auch) lokal drauf sein.

Insofern ist Syncthing tatsächlich meine präferierte Lösung und ich werde hoffentlich bald mein Setup hier vorstellen können.
 
@cabriofahrer:

Du meinst sicherlich sFTP (SSH). ;-) Auch standardmäßig verfügbar.

FTP verschickt die Anmeldedaten im Klartext. Das ist über das Internet keine gute Idee ...
Und wenn ich es noch richtig in Erinnerung habe, dann musst Du für die FTP-Kommunikation 2 Ports in der Firewall freischalten. Für SSH genügt einer. :-)

Der Zugriff via sFTP ist mit den meisten BSD/Linux-Dateimanagern (evtl. durch entsprechende Plugins) ebenfalls möglich.
Und mit WinSCP sollte es auch von Windows aus möglich sein.

Des Weiteren steht Dir so auch gleich ein "Wartungs"-Zugang via SSH zu deinem Home-Server zur Verfügung. :-)

Nicht ideal aber möglich: Versionskontrolle via rcs, svn oder git wäre über SSH auch möglich.

Ich persönlich nutze auch syncthing (aber nur im lokalen Netz). Sollte ich es außerhalb benötigen, könnte ich aber via SSH-Tunnel ebenfalls darauf zugreifen.
 
Zuletzt bearbeitet:
Zurück
Oben