Optimale Nextcloud?
Ich hab mich jetzt eine Weile mit Nextcloud beschäftigt und möchte eine sichere und zuverlässige Cloud hauptsächlich für schularbeiten und Co die Zuhause auf meinem Server läuft. Allerdings fehlt mir der Ansatz zur Idealen Instanz. Der Wunsch ist Nextcloud mit Oblyoffice und einer Backup automation die von überall per Domain erreichbar ist. Aktuell läuft Nextcloud mit MariaDB und einem Redis Cache auf docker Compostela und wird über einen Cloudflare Tunnel erreichbar gemacht. Nebenbei läuft dann noch Onlyoffice separat mit einem Whiteboard Server (welche btw auch über cloudflare eine subdomain haben). Nebenbei hab ich in einer Ubuntu VM mit Snap nextcloud mit einem selsigned Zertifikat ausgerüstet, allerdings hatte ich Probleme auf der vm einen Onlyoffice Server zu installieren da das Zertifikat 'Unvertraulich' war.
Alles in einem schien nichts als die richtige optimale Endlösung weshalb ich hier danach frage. Alles Aktuell läuft halbwegs ok aber langsam und nicht immer zuverlässig.
3 Antworten
Ich verwende dieses Docker Image im "reverse proxy mode": https://hub.docker.com/r/nextcloud/aio-nextcloud
Meine Nextcloud Instanz ist nur lokal und über Wireguard erreichbar. TLS wird von nginx terminiert.
Das Problem mit den Zertifikaten habe ich gelöst, indem ich eine Domain mit einem Let's Encrypt Zertifikat verwende, die aber zur lokalen IP Adresse auflöst. Das Zertifikat wird von Certbot per DNS-01 über die Cloudflare API automatisch verlängert (HTTP-01 ist in dieser Konfiguration natürlich nicht möglich).
Diese Lösung funktioniert für meine Zwecke zufriedenstellend.
Zu Onlyoffice kann ich nichts sagen, da ich es nicht verwende.
Um die Performanceprobleme zu lösen, müsste man erst mal herausfinden, wo der "Flaschenhals" liegt (Netzwerk, CPU, RAM oder Festplatte).
Die Hardware ist auf jeden Fall ausreichend. Das Problem muss wo anders liegen.
Bei mir läuft das ganze nur auf einem Raspberry Pi, und ich habe keine Performanceprobleme.
Wenn du selbstsignierte Zertifikate verwendest, muss jedes Gerät, welche den Dienst verwenden soll, deiner CA vertrauen. Dazu musst du das CA Zertifikat in den Keystore des jeweiligen Gerätes importieren. Wenn eine Java Anwendung den Dienst verwenden soll, muss das CA Zertifikat in den Java Keystore eingespielt werden.
Warum hast du Nextcloud nochmal parallel in einer VM installiert? Irgendwie ist mir dein Setup noch nciht ganz klar...
Hein Kumpel der Systemintegrator ist meine das es performanter läuft
Von selbstsignierten Zertifikaten würde ich abraten. Sie mögen in einem Unternehmensumfeld sinnvoll sein, wo alle Geräte zentral verwaltet werden, aber für einen Privatanwender finde ich das viel zu umständlich. Außerdem geht man ein Sicherheitsrisiko ein, wenn man den privaten Schlüssel des Rootzertifikats unzureichend schützt, da ein Angreifer damit MitM Angriffe durchführen könnte (und zwar nicht nur für die Verbindung zur Nextcloud, sondern für alle Webseiten).
Eine Domain registrieren (es gibt kostenlose Domains, die für persönliche Zwecke völlig ausreichend sind) und für diese ein "echtes" Zertifikat ausstellen lassen (z.B. kostenlos von Let's Encrypt). Die Zertifikatsverlängerung am besten automatisieren, sonst wird sie gerne mal vergessen.
Ich hab schon eine Domain registriert, allerdings ist sind die NS bei Cloudflare damit ich den Tunnel nutzen kann, da ich noch keine Ports freigegeben hab. Der Plan ist in naher Zukunft ein VPS- VPN Setup zu machen um das Heimnetz zu schützen
Dann kümmert sich Cloudflare soweit ich weiß um das TLS Zertifikat auf der Endanwenderseite und du musst auf deinem Server nur ein Zertifikat installieren, das von Cloudflare akzeptiert wird. Cloudflare nennt das "Origin CA Certificate". Für diese Zertifikate kann man eine lange Gültigkeitsdauer festlegen, dann muss man sich nicht um die Verlängerung kümmern. Sie sind allerdings nur sinnvoll, wenn der gesamte Traffic über Cloudflare geht.
Wenn du deine Nextcloud bei dir zuhause hostest und lokal darauf zugreifen möchtest, ist das suboptimal. Dann brauchst du ein "echtes" Zertifikat. Das ist für den direkten Zugriff und über Cloudflare gültig.
miet dir einfach einen vm server für 10€ mit plesk und installiere alles bequem über webbrowser.
ich habe selber einen nextcloud server mit lets encrypt installiert www.jobro.at wenn du willst biete ich dir speicherplatz und der zusätzlichen office app an.
ansonsten gibt es noch ssh anleitungen für das lets encrypt.
und ist der server cach denn überhaupt notwenig bei einem 1 user system ? :)
Aus performance Gründen hab ich eingestellt das nextcloud in Radis Cached. Von der Hardware läuft die VM mit Docker auf Proxmox mit 256 GB SSD Speicher, 16 GB RAM und 4 Threads (Ryzen 5 5600). Die VM mit Nextcloud über snap hat 8 Thread (4 Kerne)