Skip to main content

OpenCloud vs NextCloud - Ersteindruck und Installation

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

    © TECH-SUPPORT.KOELN