Veröffentlicht in opensource.
OpenCloud vs NextCloud - Ersteindruck und Installation
Geschrieben von TECH-SUPPORT.KOELN am .
Mit OpenCloud geht ein weiterer Fork des bekannten Owncloud aus Deutschland ins rennen und mischt die Karten bei den bestehenden Open Source Lösungen für die Cloud Dateiverwaltung neu. Wir haben OpenCloud getestet und vergleichen es mit NextCloud.
Einsatzzweck für OpenCloud
Nextcloud wie auch OpenCloud ist eine Open-Source-Software zur Datensynchronisation, -speicherung und Zusammenarbeit. Beide Lösungen werden häufig als private Alternative zu Cloud-Diensten wie Google Drive, Dropbox oder Microsoft OneDrive eingesetzt.
Dabei liegt der Fokus auf der Speicherung der Daten auf einem Cloudserver sowie der einfachen Möglichkeit einzelne Dateien oder auch Ordner mit internen Mitarbeitern und auch externen Dienstleistern oder Kunden zu teilen.
Da Bilder mehr sagen als Worte, zeigen wir hier alle wichtigen Einstellungen von OpenCloud.
Unterschiede zu NextCloud
Im Gegensatz zu NextCloud lässt sich OpenCloud nicht auf einem Webspace installieren. Das liegt daran, das NextCloud vor allem auf PHP basiert und lediglich eine SQL Datenbank benötigt. OpenCloud benötigt einen eigenständigen Linux Server mit 8 GB RAM.
Während NextCloud eine Groupware Lösung ist und mit vielen verschiedenen Erweiterungen wie Kalender, Kontakte, Aufgaben, Mailclient, Fragebogen, Projektverwaltung und sogar Videokonferenzen einen großen Funktionsumfang ermöglicht, ist OpenCloud derzeit auf die Kernfunktion einer Cloudbasierten Dateiverwaltung beschränkt.
Mittlerweile gibt es Erweiterungen für die Kalenderfunktion sowie die Integration von Draw.io und gemeinsam lässt sich via Collabora an Dokumenten im Browser arbeiten.
Aber gerade diese Beschränkung oder besser gesagt Konzentration auf das wesentliche, ist die Stärke von OpenCloud. Im direkten vergleich ist OpenCloud Ressourcen schonender und viel reaktionsschneller als NextCloud. Gerade da merkt man das NextCloud auf ein veraltetes PHP Konzept setzt.
In unserem Test lief OpenCloud über 2 Monate stabil ohne abstürze. Ehrlich gesagt haben wir das mit NextCloud in letzter Zeit nicht geschafft. Beide Systeme liefen in einer eigenen VM.
Funktionsumfang und Zielgruppe
Wie bereits in den Unterschieden zu NextCloud erklärt, beschränkt sich OpenCloud auf die Kernfunktion als Cloud basierte Dateiverwaltung.
Dazu gehören:
- Dateiverwaltung (Eigener Bereich, gemeinsam genutzte Shared Spaces, Kontigentbegrenzung, Teilen von Dateien und Ordner mit anderen Usern oder externen über einen Public Link)
- Userverwaltung
- Gute Übersicht über geteilte Dateien
- Volltextsuche mittels Apache Tika
- Virenprüfung mittels ClamAV
- Kalender
- Draw.io
- Zugriff via App (Windows, Linux, iOS, Android)
- Zugriff via Browser
- Zugriff via WebDav Protokoll
Die Zielgruppe sind also vor allem Organisationen, die aus Datenschutzgründen kein Sharepoint nutzen möchten. Aber ich glaube das sich wie NextCloud auch OpenCloud, bei Privatpersonen erfreut, die besonderen Wert auf die eigenen Daten legen und vor der Installation und Wartung nicht abschrecken.
Fazit
Uns gefällt die Performance und Stabilität. Wir behalten die eigene Datenhoheit und werden nicht von unzähligen Funktionen überflutet. Gerade die Konzentration auf die Kernfunktionen einer Cloud Dateiverwaltung sehen wir daher als besonderes Merkmal und nicht als Nachteil.
Installation unter Ubuntu 24.04 LTS mit Docker-Compose
Damit OpenCloud funktioniert, benötigen wir 3 Subdomains.
Entweder läuft die OpenCloud VM mit einer eigenen öffentlichen IPv4 oder IPv6 Adresse oder wir nutzen unseren eigenen Reverse Proxy Server. Weiter unten weisen wir auf die verschiedenen Konfigurationsschritte hin.
- cloud.<meine-domaine.de>
- collabora.<meine-domaine.de>
- wopi.<meine-domaine.de>
Diese Subdomains müssen per A-Record für IPv4 und ggf. AAAA-Record für IPv6 auf den Server oder alternativ auf Reverse Proxy Server zeigen.
Bei Verwendung eines externen Reverse Proxy Server müssen die Subdomains auf folgende IP und Port verweisen:
cloud.<meine-domaine.de>:9200
collabora.<meine-domaine.de>:9980
wopi.<meine-domaine.de>:9300
Des weiteren muss für die Wopi Subdomain Websocket aktiviert sein.
Zum aktuellen Stand fehlt noch die ClamAV Konfiguration in der docker-compose.yml Datei. Dazu ist bereits ein Github Issue offen. Daher haben wir ClamAV aktuell noch nicht in der Konfiguration aktiviert.
Die Tika Volltextsuche hingegen funktioniert und haben wir hier auch aktiviert.
Die Dateien legen wir außerhalb vom Docker Container ab. Dafür erstellen wir folgende Ordner und geben die Berechtigung:
mkdir -p /opt/opencloud/config && chown -R 1000:1000 /opt/opencloud/config/
mkdir -p /opt/opencloud/data && chown -R 1000:1000 /opt/opencloud/data/
Dann installieren wir Docker Compose und wechseln in das Verzeichnis für den Docker Container:
apt install docker-compose-v2 && apt-get install docker.io -y && systemctl enable docker && systemctl start docker
cd /opt/opencloud
und laden die benötigten Dateien herunter:
git clone https://github.com/opencloud-eu/opencloud-compose.git
cd opencloud-compose
nun müssen wir die Konfigurationsdatei erstellen:
cp .env.example .env && nano .env
In der .env editieren wir folgende Zeilen:
INSECURE=false
TRAEFIK_ACME_MAIL=<deine-email-adresse>
OC_DOMAIN=<cloud.deine-domain.de>
INITIAL_ADMIN_PASSWORD=<dein-password>
OC_CONFIG_DIR=/opt/opencloud/config
OC_DATA_DIR=/opt/opencloud/data
COLLABORA_DOMAIN=<collabora.deine-domain.de>
WOPISERVER_DOMAIN=<wopi.deine-domain.de>
COLLABORA_ADMIN_USER=<dein-user-name>
COLLABORA_ADMIN_PASSWORD=<dein-password>
COLLABORA_SSL_ENABLE=false
COLLABORA_SSL_VERIFICATION=true
auskommentieren:
START_ADDITIONAL_SERVICES="notifications"
und wenn man Public Shares auch ohne Passwort generieren möchte, muss folgende Zeile am Ende hinzugefügt werden:
OC_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD=false
An dieser Stelle müssen wir uns entscheiden, ob wir OpenCloud mit dem eingebauten Traefik Reverse Proxy und einer eigenen öffentlichen IPv4/IPv6 Adresse betreiben oder hinter einem eigenen Reverse Proxy.
Dazu müssen wir in der .env Datei in folgendem Block die entsprechende Zeile auskommentieren:
## Features ##
# The following variable is a convenience variable to enable or disable features of this compose project.
# Example: if you want to use traefik and letsencrypt, you can set the variable to
#COMPOSE_FILE=docker-compose.yml:traefik/opencloud.yml
# This enables you to just run `docker compose up -d` and the compose files will be added to the stack.
# As alternative approach you can run `docker compose -f docker-compose.yml -f docker-compose.traefik.yml up -d`
# Default: OpenCloud and Collabora with traefik and letsencypt
# This needs DNS entries for the domain names used in the .env file.
#COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml
# If you want to use the external proxy, you can use the following combination.
# DNS entries and certificates need to be managed by the external environment.
# The domain names need to be entered into the .env file.
#COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:external-proxy/opencloud.yml:external-proxy/collabora.yml:search/tika.yml
# Keycloak Shared User Directory
#COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml:idm/ldap-keycloak.yml:traefik/ldap-keycloak.yml
Folgende Zeile müssen wir für den eigenbauten Traefik Reverse Proxy auskommentieren:
Ggf. fehlt "search/tika.yml". Dieses fügen wir wie hier vorgegeben hinzu, damit die Volltextsuche funktioniert.
COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml:search/tika.yml
Möchten wir hingegen einen vorhandenen Reverse Proxy verwenden, müssen wir weiter unten die Zeile auskommentieren:
Auch hier fehlt ggf. "search/tika.yml"
COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:external-proxy/opencloud.yml:external-proxy/collabora.yml:search/tika.yml
Dies bewirkt das für die Docker Container die external proxy Konfigurationsdatei geladen wird und die entsprechenden Ports freigegeben werden.
Zusätzlich müssen wir in der /etc/hosts unser VM sie 3 Subdomains auf den vorhandenen Reverse Proxy leiten. Dazu öffnen wir die /etc/hosts Datei:
nano /etc/hosts
und fügen folgendes hinzu:
<IP-von-meinem-reverse-proxy-server> cloud.deine-domain.de>
<IP-von-meinem-reverse-proxy-server> wopi.deine-domain.de>
<IP-von-meinem-reverse-proxy-server> collabora.deine-domain.de>
Werden diese Einträge nicht hinzugefügt, kann man sich nicht anmelden. In dem Fall erscheint ein Fehlerhinweis "Nicht angemeldet, Das könnte aufgrund einer routinemäßigen Abmeldung aus Sicherheitsgründen geschehen sein..."
Details dazu finden sich bei Github: https://github.com/orgs/opencloud-eu/discussions/767
Anschließend geht es für beide Varianten weiter, in dem wir folgende Zeile in der .env auskommentieren:
START_ADDITIONAL_SERVICES="notifications"
Die SMTP Einstellungen für den E-Mail Versand sollten auch gesetzt werden:
SMTP_HOST=
SMTP_PORT=587
SMTP_SENDER=
SMTP_USERNAME=
SMTP_PASSWORD=
SMTP_AUTHENTICATION=auto
SMTP_TRANSPORT_ENCYPTION=starttls
SMTP_INSECURE=false
sind alle Einstellungen gesetzt, kann der Docker Container gestartet werden:
docker compose up -d
Nun sollte OpenCloud nach wenigen Minuten unter https://<deine-domain.de> erreichbar sein.
Update des Docker Containers
Dazu wechseln wir zunächst in das OpenCloud Docker Verzeichnis und stoppen den Container:
cd /opt/opencloud/opencloud-compose && docker compose stop
Nun können wir das neuste Docker Image herunterladen:
docker pull opencloudeu/opencloud-rolling
Anschließend müssen wir uns vergewissern, das es keine Änderungen in der Config Datei gibt. Dazu loggen wir uns in den Docker Container ein:
docker run --rm -it --entrypoint /bin/sh -v /opt/opencloud/config:/etc/opencloud opencloudeu/opencloud-rolling
und lassen uns mögliche Unterschiede der Config anzeigen:
opencloud init --diff
Sollten Unterschiede gefunden werden, müssen wir diese in unsere .env Konfiguration selbst hinzufügen. Sollten keine Unterschiede gefunden werden, müssen wir nichts weiter tun. In beiden Fällen verlassen wir den Docker Container mit:
exit
Den Docker Container können wir wie folgt starten:
docker compose up -d
Manchmal starten die Docker Container zwar korrekt, aber OpenCloud ist trotzdem nicht per Browser aufrufbar. In dem Fall hat das erneute restarten mit "docker compose restart" geholfen.
Zum Thema passende Artikel
-
Meetings einfach planen mit Cal.com
- Geschrieben von TECH-SUPPORT.KOELN
- Veröffentlicht am
-
Unternehmenswiki mit Outline
- Geschrieben von TECH-SUPPORT.KOELN
- Veröffentlicht am
-
IT Asset Management mit Snipe-IT
- Geschrieben von TECH-SUPPORT.KOELN
- Veröffentlicht am
-
RustDesk aus der Ferne und automatisch udpaten
- Geschrieben von TECH-SUPPORT.KOELN
- Veröffentlicht am
-
Mit Yopass vertrauliche Daten sicher austauschen
- Geschrieben von TECH-SUPPORT.KOELN
- Veröffentlicht am