Eigene Cloud als Dropbox-Alternative hosten mit ownCloud

Eigene Cloud als Dropbox-Alternative hosten mit ownCloud

Cloud-Dienste wie Google Drive, Dropbox, Mega oder OneDrive sind beliebt wie nie zuvor. Wen wundert es? Von allen Geräten, egal ob Handy, PC oder Tablet kann auf die eigenen Dateien zugegriffen werden, und das von überall auf der Welt. Auch das Teilen von Dateien und Bildern war noch sie so einfach.

Wäre da nicht ein großes Problem: Die Daten liegen nicht mehr in der eigenen Hand. Will ich großen US-Unternehmen wirklich private Dokumente wie Lohnabrechnungen oder Familienbilder anvertrauen? Wegen fehlender Ende-zu-Ende-Verschlüsselung haben Google, Microsoft & Co. theoretisch jederzeit Zugriff auf die Daten ihrer Nutzer.

Genau deshalb habe ich angefangen ownCloud zu nutzen. Dabei handelt es sich um eine selbstgehostete Open-Source-Software, mit der ihr eure eigene Cloud mit allen wichtigen Funktionen (mehrere User, Teilen von Links, Zugriff auf Dateien über Browser und/oder Apps) betreiben könnt. Im Prinzip wie Dropbox nur unter eigener Kontrolle.

Anmerkung: Der aus ownCloud entstandene Fork Nextcloud ist wahrscheinlich deutlich bekannter und weiter verbreitet. Ich habe mich bewusst für ownCloud entschieden, da Nextcloud meiner Meinung nach umfangreicher und dadurch auch etwas träger ist. Für meinen Anwendungsfall reicht eine schlanke Cloud-Lösung ohne zusätzliche Funktionen wie Kontakte oder Kalender völlig aus.


Screenshots:


Voraussetzungen:


Installation:

Die Installation von ownCloud gestaltet sich mit Docker-Compose relativ einfach. Grundsätzlich müsst ihr nur wenige Einstellungen anpassen:

  • MySQL-Passwörter: Sowohl das Root-Passwort als auch das ownCloud-Datenbank-Passwort
  • ownCloud-Domain & Port: Legt fest, über welche Domain bzw. welchen Port ihr ownCloud erreichen wollt. Falls der Port 8080 bereits belegt ist, müsst ihr ihn anpassen
  • Version: Eventuell gibt es bereits eine neuere Version von owncloud/server Die aktuellste Version findet ihr im am Ende des Artikels verlinkten GitHub-Repository

Speicherort der Daten:

Mit ./owncloud_files:/mnt/data werden die in der ownCloud gespeicherten Dateien in dem Verzeichnis abgespeichert, in dem auch das Compose-File liegt. Wenn ihr die Daten auf einer anderen Festplatte oder einem gemounteten Verzeichnis speichern wollt, müsst ihr diesen Pfad entsprechend anpassen.

Admin-Passwort:

Die Variable OWNCLOUD_ADMIN_PASSWORD legt das initiale Admin-Passwort fest. Ihr müsst es nicht zwingend im Compose-File ändern. Nach der ersten Anmeldung könnt ihr es über die Web-Oberfläche jederzeit auf ein sicheres Passwort ändern.

services:
  db:
    image: mariadb:10.11
    container_name: owncloud_db
    restart: unless-stopped
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - ./owncloud_db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=geheimes_passwort123
      - MYSQL_DATABASE=owncloud
      - MYSQL_USER=owncloud
      - MYSQL_PASSWORD=geheimes_passwort123
    networks:
      - owncloud_net
  owncloud:
    image: owncloud/server:10.13
    container_name: owncloud_app
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - 8080:8080
    volumes:
      - ./owncloud_files:/mnt/data
    environment:
      - OWNCLOUD_DOMAIN=deine.domain.com
      - OWNCLOUD_DB_TYPE=mysql
      - OWNCLOUD_DB_NAME=owncloud
      - OWNCLOUD_DB_USERNAME=owncloud
      - OWNCLOUD_DB_PASSWORD=geheimes_passwort123
      - OWNCLOUD_DB_HOST=db
      - OWNCLOUD_ADMIN_USERNAME=oc-admin
      - OWNCLOUD_ADMIN_PASSWORD=geheimes_passwort123
    networks:
      - owncloud_net
networks:
  owncloud_net: null

compose.yaml

Nach dem Anpassen und Speichern des Compose-Files unter dem Namen compose.yaml könnt ihr den Docker-Stack starten. Navigiert dazu in der Kommandozeile in das Verzeichnis, in dem das Compose-File liegt, und führt folgenden Befehl aus:

docker compose up -d

Damit wird ownCloud als Container im Hintergrund gestartet und ist über die eingestellte Domain bzw. den Port erreichbar.


GitHub - owncloud-docker/server: Docker image for ownCloud community edition
Docker image for ownCloud community edition. Contribute to owncloud-docker/server development by creating an account on GitHub.