Seafile stresst, NAS bauen

Wintermute

Fleet Admiral
Registriert
Feb. 2003
Beiträge
14.329
Hallo zusammen. Heute mit zwei Themen auf einmal.

1. Mein Seafile nervt mich

Die Android App vergisst dauernd meinen Server und meinen Login. Seit Ewigkeiten hab ich Probleme mit der Generierung von Thumbnails und dem automatischen Foto-Upload. Frage ist: Gibt es eine Cloud mit einer Android App die genauso zuverlässig und snappy arbeitet wie Dropbox? Die Seafile App fühlt sich immer noch an wie eine Bretterbude.

2. NAS bauen

Mein alter Synology hat ausgedient. Ich hab aber noch ein Sockel 1700 mATX Board rumliegen. Würde einen Pentium 7400 draufmachen und das Ding als NAS nutzen. Gute Idee? Oder anderer Prozessor?

Frage ist nun welches OS?
Brauche nur ganz grundlegende NAS Funktionen - im Grunde reicht es eigentlich schon, wenn mein Acronis das Ding als Netzlaufwerk erkennt. Mehr mache ich nicht. Will erst eine einzige Platte nutzen und später zu RAID 1 ausbauen. Muss auch nicht von außen erreichbar sein. Seafile/nginx muss drauf laufen, wenns keine Alternative mit besserer App gibt.

Momentan nutze ich einen Raspberry Pi als Seafile Server den ich über putty steuere. Dyndns über eine Fritzbox.

Das neue Ding wäre cool so mit Remote Desktop. Kenne mich nicht so mit Linux aus - aber kann ich es da so handhaben, dass das GUI nur aktiv ist, wenn ich Remote drauf zugreife? Bestimmt, oder? Muss ja nicht die ganze Zeit laufen, da das System ja so wenig Strom verbrauchen soll wie möglich.

Würde mich über ein paar Tipps und Input freuen. :)
 
Von wieviel TB Speicherplatz und was für einer HDD sprichst du? Welche Funktionen von Seafile benutzt du? Und was für einen RPI benutzt du aktuell?
 
1) Nextcloud & Pydio sind die üblichen verdächtigen. Eine User-Experience wie bei Dropbox findest du bei OpenSource und Selfhosted jedoch nicht. Ich nutze z.B. Nextcloud nur als Webinterface, während zur tatsächlichen Datensynchronisierung Syncthing Einsatz findet.

Bitte beachten, dass Seafile Features wie Snapshots / De-Duplikation bietet aufgrund des internen Objektstorage und auch deutlich performanter ist als ein Nextcloud - man kann also nicht alles haben ;)

2) Von der Performance reicht das 100%, am Ende halt den Strom messen. Wirklich stromsparende Komponenten für einen Server zu nutzen ist die eigentliche Herausforderung ;)

3) Die Software lässt sich am einfachsten via Docker installieren, und das läuft auf jeden OS deiner Wahl (von Ubuntu über Windows, über Terminal oder Desktop) - wo auch immer du dich mit wohlfühlst.

Persönlich nutze ich Proxmox zur Virtualisierung und dann Ubuntu-VMs mit Docker und Portainer für meine Applications - aber das sprengt vmtl. schon den Rahmen, macht aber echt Spaß wenn mal später weitere Anwendungen dazu kommen soll.
Mit Proxmox / Portainer / Nginx Proxy Manager lässt sich dann auch 99% über eine GUI steuern, wenn du es initial erstmal eingerichtet hast.
 
  • Gefällt mir
Reaktionen: Wintermute und conf_t
john.smiles schrieb:
Von wieviel TB Speicherplatz und was für einer HDD sprichst du? Welche Funktionen von Seafile benutzt du? Und was für einen RPI benutzt du aktuell?
12TB vermutlich eine Ironwolf. Ist das wichtig? Ich nutze von Seafile nur das Synchronisieren von Daten. Foto Upload vom Handy und eben Sync meines Rechners von mehreren Verzeichnissen. RPI3 glaub. Von 2020.
 
x.treme schrieb:
1) Nextcloud & Pydio sind die üblichen verdächtigen.
Ok. Syncthing. Mal gucken. Danke! Ich möchte eigentlich nur zuverlässigen Sync haben, das wars. Aber die Seafile Android App macht auch das nicht gescheit, fällt mir gerade ein. Ich weiß nie wann meine Fotos in der Cloud landen. Mal sofort, mal nach einer Stunde...
x.treme schrieb:
2) Von der Performance reicht das 100%, am Ende halt den Strom messen.
Okay, danke!
x.treme schrieb:
Persönlich nutze ich Proxmox zur Virtualisierung und dann Ubuntu-VMs mit Docker und Portainer für meine Applications - aber das sprengt vmtl. schon den Rahmen, macht aber echt Spaß wenn mal später weitere Anwendungen dazu kommen soll.
Mit Proxmox / Portainer / Nginx Proxy Manager lässt sich dann auch 99% über eine GUI steuern, wenn du es initial erstmal eingerichtet hast.
Das sprengt echt den Rahmen :D Aber hm... Ubuntu plus Docker klingt doch ganz gut. Muss ich mal genauer anschauen. Merci!
Ergänzung ()

john.smiles schrieb:
Du meinst doch den Raspberry Pi, oder? Ist ein 3er wie gesagt glaub ich. Meinst ich soll den einfach weiter nutzen? Habe Gehäuse gesehen, in den man ihn packen und mit Sata Platten laufen lassen kann. Frage wäre nur, wie ich ihn dann als NAS plus Seafile Server laufen lassen kann? Das RPI NAS OS hat das nicht zugelassen, wenn ich mich recht entsinne... wäre natürlich vom Energieverbrauch top und würde mir von der Performance reichen. Ich schaufel ja nur Daten hin und her.

Edit:
Momentan läuft das OS von SD, die Seafile DB ist auf einer nvme ssd in usb Gehäuse. Müsste also ein Gehäuse für zwei Platten und Nvme geben. Eigentlich wäre das auch ganz cool.
 
Zuletzt bearbeitet:
Ein 3er ist halt begrenzt, was die Schnittstellen angeht, USB 3.0 und die GBit LAN sind so angebunden, das man sie nicht voll auslasten kann. Ich meine ~30-40 MByte/s, mehr nicht. Aber das ist wahrscheinlich immer noch x mal schneller als dein Upload.

Ansonsten ja, ich sehe da keinen Bedarf für irgendwas größeres, ein RPI, eine externe HDD, Raspberry Pi OS und syncthing installiert, das reicht für deine Anforderungen.

https://www.elektronik-kompendium.de/sites/raspberry-pi/2007071.htm

https://www.youtube.com/results?search_query=synthing

Dann würde ich mir an deiner Stelle noch Pihole zum Werbung filtern ansehen, das bietet sich an wenn der RPI 24/7 läuft.
 
  • Gefällt mir
Reaktionen: Wintermute
john.smiles schrieb:
Ein 3er ist halt begrenzt, was die Schnittstellen angeht, USB 3.0 und die GBit LAN sind so angebunden, das man sie nicht voll auslasten kann. Ich meine ~30-40 MByte/s, mehr nicht. Aber das ist wahrscheinlich immer noch x mal schneller als dein Upload.
Jo, aber die internen Backups würden schneller laufen. Glaub ich verscherbel das Board und rüste auf einen 4er Pi hoch.
 
Wenn du echt nur Syncthing laufen lassen willst, dann reicht ein Pi auf jeden Fall.

Jedoch: Das ist eine P2P Lösung zum synchronisieren zwischen Geräten. Das macht Synchting aber richtig gut.
Was du hier jedoch nicht hast, ist eine App wo du durch Daten in der Cloud stöbern könntest ohne es ins lokale Dateisystem zu synchronisieren. D.h. Thumbnails sind bei Synchting insofern kein Problem, dass es die hier garnicht gibt ;)

Willst du ein wenig mehr mit dem Sever machen, ist ein refurbished SFF Server mit z.B. ner 6500t CPU ne coole Alternative zum Raspberry, kosten so 80-100€.
https://www.mydealz.de/deals/refurb...i5-6500t-256gb-ssd-8gb-ram-win-10-pro-2217084
 
  • Gefällt mir
Reaktionen: Wintermute
x.treme schrieb:
Willst du ein wenig mehr mit dem Sever machen, ist ein refurbished SFF Server mit z.B. ner 6500t CPU ne coole Alternative zum Raspberry, kosten so 80-100€.
https://www.mydealz.de/deals/refurb...i5-6500t-256gb-ssd-8gb-ram-win-10-pro-2217084
Ooh das ist ja auch ne coole Sache. Aber da wäre ich ja wieder bei meinem Mainboard + dem P7400. Da hätte ich für 200€ (eher 150 wenn ich ein gutes NT Angebot finde) vergleichsweise richtig Dampf und im idle vmtl auch nicht mehr Verbrauch, oder?

Stellt sich die Frage was ich noch machen könnte? Vielleicht weiß ich ja nur nichts von den Sachen, die ich machen möchte :D

Stand jetzt: NAS Funktionen, Seafile. Vielleicht auch nen Game Server? Terraria? 🤔

Syncthing ist für mich dann wohl doch nichts, weil ich ja zB meine Daten auf dem Fon durchstöbern möchte ohne alles zu syncen. Der Rest meiner Daten wird gerade automatisiert alle 4h inkrementell als Backup gesichert.

//edit: wären am Ende 250 mit Gehäuse, SFX NT, 16GB RAM, 7400G und nem leisen Kühler. Also dann doch deutlich mehr. Aber Wohnzimmer-leise auch unter Last.
 
Zuletzt bearbeitet:
x.treme schrieb:
Kannst dich ja hier inspirieren lassen:
Haha Danke. :) Aber ist es nicht überflüssig Docker zu verwenden, wenn man eh nur ein einziges stationäres System hat? Oder erspart man sich damit viel Gefrickel? Die Installation von Seafile war schon ein ganz schöner Act damals mit Mongodb und nginx und den ganzen Freigaben usw....
 
Docker ist einfach ein extremer Komfortgewinn, neue Anwendungen sind halt in 5 Minuten konfiguriert und installiert.

Nehmen wir mal Seafile als Beispiel, hier sucht man sich dann einfach das vorgefertigte docker-compose.yml Template
https://download.seafile.com/d/320e8adf90fa43ad8fee/files/?p=/docker/docker-compose.yml

Ruby:
version: '2.0'
services:
  db:
    image: mariadb:10.6
    container_name: seafile-mysql
    environment:
      - MYSQL_ROOT_PASSWORD=db_dev  # Requested, set the root's password of MySQL service.
      - MYSQL_LOG_CONSOLE=true
    volumes:
      - /opt/seafile-mysql/db:/var/lib/mysql  # Requested, specifies the path to MySQL data persistent store.
    networks:
      - seafile-net

  memcached:
    image: memcached:1.6.18
    container_name: seafile-memcached
    entrypoint: memcached -m 256
    networks:
      - seafile-net
     
  seafile:
    image: seafileltd/seafile-mc:latest
    container_name: seafile
    ports:
      - "80:80"
#     - "443:443"  # If https is enabled, cancel the comment.
    volumes:
      - /opt/seafile-data:/shared   # Requested, specifies the path to Seafile data persistent store.
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD=db_dev  # Requested, the value shuold be root's password of MySQL service.
      - TIME_ZONE=Etc/UTC  # Optional, default is UTC. Should be uncomment and set to your local time zone.
      - SEAFILE_ADMIN_EMAIL=me@example.com # Specifies Seafile admin user, default is 'me@example.com'.
      - SEAFILE_ADMIN_PASSWORD=asecret     # Specifies Seafile admin password, default is 'asecret'.
      - SEAFILE_SERVER_LETSENCRYPT=false   # Whether to use https or not.
      - SEAFILE_SERVER_HOSTNAME=docs.seafile.com # Specifies your host name if https is enabled.
    depends_on:
      - db
      - memcached
    networks:
      - seafile-net

networks:
  seafile-net:

Hier must dann nur noch die Umgebungsvariablen (Blau) anpassen (MYSQL-Passwort, etc.), dann einfach nur noch docker compose up (oder über die GUI in Portainer das ganze per Click machen), und Seafile läuft.

Und um's auf einem anderen PC wiederherzustellen, einfach die docker-compose.yml sichern sowie die beiden Ordner mit persistenten Daten ( /opt/seafile-mysql/db, /opt/seafile-data). Somit auch super einfach bzgl. Backups.

Auf diese Art habe ich mittlerweile so 20 Apps laufen, von Task-Manager/Kanban (Vikunja), über Notizen (Trilium Notes), papierloses Büro (Paperless), Passwortmanager (Vaultwarden), Chat (Matrix + Element) bis hinzu Google Photo Ersatz (Immich). Nutze das noch in Kombination mit Nginx Proxy Manager (auch Docker Container), das ist dann die GUI welche automatich Zertifikate erneuert via Cloudflare DNS Challenge und über die ich die ganze NGINX-Config (e.g. cloud.my-domain.com leitet weiter auf seafile:80 ) mir einfach zusammenklicken kann.
 
  • Gefällt mir
Reaktionen: Wintermute
x.treme schrieb:
Hier must dann nur noch die Umgebungsvariablen (Blau) anpassen (MYSQL-Passwort, etc.), dann einfach nur noch docker compose up (oder über die GUI in Portainer das ganze per Click machen), und Seafile läuft.
Consider my mind blown. Wie update ich die die Container dann? Sag bloß, das geht auch mit einem "update mir bitte das hier" Kommando und das wars?

Für Seafile bräuchte ich ja dann zB auch einen MySQL service. Oh, MariaDB gibt's auch als Docker Image sehe ich gerade ... das ist ja großartig. Sorry, denke laut beim Tippen.

Danke nochmal für deine Mühe, die du dir hier gibst! :) Ich mail grad an den Vatikan um eine Heiligsprechung zu beantragen. ^^ Das würde mir ja alles eine Tonne Arbeit ersparen und Self-Hosting 1000x ansprechender gestalten.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: x.treme
Haha, ja für mich waren Docker-Container auch ein Gamechanger, seit dem mir Selfhosting auch erst richtig Spaß macht :D (der zweite Schritt war dann Proxmox, damit ich Ubuntu inklusive Docker virtualisiere und via Snapshots täglich sichern und zurücksetzen kann. Sehr praktisch, wenn man beim Experimentieren dann doch mal was kaputt gemacht hat).
Mittlerweile nutze ich sogar Sachen wie Authentik für Single Sign On für alle Anwendung (via Fingerabdrucksensor) etc.

Genau, für ein Update klicke ich in Portainer nur auf "Re-pull image and redeploy", dann wird das neuste Image gezogen und der Container aktualisiert.

Alternativ gibt's auch Watchtower, damit kannst du automatisiert Container aktualisieren und dich benachrichtigen lassen. Automatisierte Updates würde ich aber nur machen, wenn auch die Backups automatisiert sind ;) https://containrrr.dev/watchtower/
 
x.treme schrieb:
Genau, für ein Update klicke ich in Portainer nur auf "Re-pull image and redeploy", dann wird das neuste Image gezogen und der Container aktualisiert.
Darf ich fragen wie du heute vorgehen würdest, wenn du alles neu aufsetzen würdest? Also welches OS würdest du installieren, wie läuft das mit Proxmox usw? Ist das wie VMWare? Für Docker brauche ich dann Docker, Protainer und Heimdall klingt auch nicht falsch, oder?
 
Genau, Proxmox ist wie VMWare und basiert auf Debian. Einfach via USB-Stick auf deinem Server installieren, und danach kannst du über den Browser neue VMs anlegen und über das Webinterface auch die Console oder VNC nutzen.

Danach habe ich eine VM erstellt nur für PiHole ( wollte den DNS-Server gerne getrennt haben), und dann eine VM für Docker. Als OS für die VMs nutze ich Ubuntu - aber das ist eine reine persönliche Präferenz.

Meine Docker Essentials sind Portainer (GUI über die ich alle Container verwalte und erstelle), Watchtower (Auto-Updates), Nginx Proxy Manager (Zertifikate und Subdomains) sowie Authentik (Single Sign On, aber das ist dann schon advanced). Als Dashboard nutze ich Organizr - aber Heimdall ist auch sehr beliebt.
 
  • Gefällt mir
Reaktionen: Wintermute
x.treme schrieb:
Danach habe ich eine VM erstellt nur für PiHole ( wollte den DNS-Server gerne getrennt haben), und dann eine VM für Docker. Als OS für die VMs nutze ich Ubuntu - aber das ist eine reine persönliche Präferenz.
Okay... wenn ich jetz eine VM für Docker erstelle, dann laufen die Container ja als VM im der VM, oder? (Inception... Lol). Wenn ich jetzt einen Snapshot der VM mache, dann sind da ja theoretisch auch die Seafile Daten drauf... also mehrere hundert GB. Da müsste ich dann einem Weg finden, die woanders zu speichern. Also die Datenbank auf eine dedizierte SSD auslagern, oder? Denke ich da richtig?
 
Docker ist keine Vollvirtualisierung, sondern nutzt den Host-Kernel und isoliert die Container ... also kaum Performance-Einschränkungen dadurch.

Du erstellst für jede VM ja virtuelle Laufwerke, und kannst beim Backup auswählen welche Laufwerke inkludiert werden sollen - das reine Datenlaufwerk dann also ausschließen.

In meinem Fall habe ich eine 18TB USB-HDD die ich via Passthrough an die VM weiterreiche. Als externes Laufwerk ist sie eh im Backup nicht inkludiert.
 
  • Gefällt mir
Reaktionen: Wintermute
Zurück
Oben