Wähle einen Artikel
ownCloud via Docker auf VPS installieren
ownCloud via Docker auf VPS installieren

Volle Kontrolle mit deinem eigenen VPS von easyname

Mit einem VPS von easyname hast du volle Kontrolle über deinen Server – flexibel, skalierbar und umweltbewusst betrieben in ISO-zertifizierten Rechenzentren in Österreich. Ideal für deine Anwendungen, Projekte und maximale Performance.

0. Überblick

  • Verwendetes System: Debian 11 64 bit
  • Genutzter User: Ich nehme alles als „root“ vor
  • Zeitdauer: ca. 5 Minuten
  • Schwierigkeit: Einfach. Nur Code kopieren ?
  • Besonderheiten:
    • Grundlage ist folgende Anleitung: Traefik Reverseproxy installieren Diese Anleitung muss zuerst ausgeführt werden.
    • Die Installation von Docker / Docker Compose wird hier vorausgesetzt.

1. ownCloud installieren

1.1 Einleitung

ownCloud (https://owncloud.com) ist eine open source Software zum Speichern von Dateien auf einem Server. Für alle gängigen Plattformen gibt es eigenen Apps, mit welchem man komfortabel auf seine Dateien zugreifen kann. Auf der ownCloud Homepage kann man auch kostenpflichtigen Support und weitere Dienste dazu buchen.

1.2 Infos zu yml Dateien

Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Du kannst den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator

1.3 Vorbereitung

Diese Anleitung basiert auf dem aktuellen Debian 10 Betriebssystem. ownCloud werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.

Um ownCloud neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik.

1.3.1 Verzeichnis erstellen

Wir erstellen uns ein neues Verzeichnis, in welchem wir später alle Daten von ownCloud abspeichen. Dazu geben wir folgendes in der Konsole ein:

mkdir -p /opt/containers/owncloud/{database,redis,dateien}

Du kannst hier auch ein anderes Verzeichnis verwenden. Müsst dann aber die gesamte Anleitung entsprechend anpassen.

1.3.2 docker-compose.yml erstellen

Nun können wir mit der eigentlichen „Installation“ von ownCloud beginnen. Dazu öffnest du folgende Datei:

nano /opt/containers/owncloud/docker-compose.yml

Nun kopierts du folgenden Code in die Datei. Dieser Code ist unser Bauplan für unseren ownCloud Container.

version: "3"

services:

  owncloud:

    image: owncloud/server:latest

    container_name: owncloud_server

    restart: unless-stopped

    depends_on:

      - mariadb

      - redis

    environment:

      - OWNCLOUD_DOMAIN=owncloud.euredomain.de

      - OWNCLOUD_DB_TYPE=mysql

      - OWNCLOUD_DB_NAME=owncloud

      - OWNCLOUD_DB_USERNAME=owncloud

      - OWNCLOUD_DB_PASSWORD=owncloud

      - OWNCLOUD_DB_HOST=mariadb

      - OWNCLOUD_ADMIN_USERNAME=admin

      - OWNCLOUD_ADMIN_PASSWORD=demo

      - OWNCLOUD_MYSQL_UTF8MB4=true

      - OWNCLOUD_REDIS_ENABLED=true

      - OWNCLOUD_REDIS_HOST=redis

    healthcheck:

      test: ["CMD", "/usr/bin/healthcheck"]

      interval: 30s

      timeout: 10s

      retries: 5

    volumes:

      - ./files:/mnt/data

    labels:

      - "traefik.enable=true"

      - "traefik.http.routers.owncloud.entrypoints=http"

      - "traefik.http.routers.owncloud.rule=Host(`owncloud.euredomain.de`)"

      - "traefik.http.middlewares.owncloud-https-redirect.redirectscheme.scheme=https"

      - "traefik.http.routers.owncloud.middlewares=owncloud-https-redirect"

      - "traefik.http.routers.owncloud-secure.entrypoints=https"

      - "traefik.http.routers.owncloud-secure.rule=Host(`owncloud.euredomain.de`)"

      - "traefik.http.routers.owncloud-secure.tls=true"

      - "traefik.http.routers.owncloud-secure.tls.certresolver=http"

      - "traefik.http.routers.owncloud-secure.service=owncloud"

      - "traefik.http.services.owncloud.loadbalancer.server.port=8080"

      - "traefik.docker.network=proxy"

      - "traefik.http.routers.owncloud-secure.middlewares=secHeaders@file"

    networks:

      - proxy

      - default

  mariadb:

    image: mariadb:10.5

    container_name: owncloud_mariadb

    restart: unless-stopped

    environment:

      - MYSQL_ROOT_PASSWORD=owncloud

      - MYSQL_USER=owncloud

      - MYSQL_PASSWORD=owncloud

      - MYSQL_DATABASE=owncloud

    command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"]

    healthcheck:

      test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=owncloud"]

      interval: 10s

      timeout: 5s

      retries: 5

    volumes:

      - ./database:/var/lib/mysql

    networks:

      - default

  redis:

    image: redis:6

    container_name: owncloud_redis

    restart: unless-stopped

    command: ["--databases", "1"]

    healthcheck:

      test: ["CMD", "redis-cli", "ping"]

      interval: 10s

      timeout: 5s

      retries: 5

    volumes:

      - ./redis:/data

    networks:

      - default

networks:

  proxy:

    external: true

Nun müssen wir noch einiges anpassen.

1.3.3 Hostname anpassen

Nun musst du noch den Hostnamen anpassen, über welchen später ownCloud erreichbar sein soll.

Diese beiden Zeilen musst du anpassen.

      - "traefik.http.routers.owncloud.rule=Host(`owncloud.euredomain.de`)"
      - "traefik.http.routers.owncloud-secure.rule=Host(`owncloud.euredomain.de`)"

In meinem Fall also:

      - "traefik.http.routers.owncloud.rule=Host(`owncloud.testbereich.net`)"
      - "traefik.http.routers.owncloud-secure.rule=Host(`owncloud.testbereich.net`)"

Wenn du also ownCloud direkt auf deiner „Hauptdomain“ betreiben willst, dann änderst du es folgendermaßen ab:

"traefik.http.routers.owncloud.rule=Host(`www.euredomain.de`,`euredomain.de`)"
"traefik.http.routers.owncloud-secure.rule=Host(`www.euredomain.de`,`euredomain.de`)"

Zusätzlich musst du noch diese Zeile anpassen:

     - OWNCLOUD_DOMAIN=owncloud.euredomain.de

Ich ändere dies also bei mir folgendermaßen ab:

     - OWNCLOUD_DOMAIN=owncloud.testbereich.net

1.3.4 Datenbank Passwort anpassen

Nachdem du den Hostnamen angepasst hast, musst du noch das Datenbank Passwort anpassen. Vergib ein langes, sicheres Kennwort.

Folgende Zeilen musst du ändern:

  • OWNCLOUD_DB_PASSWORD=owncloud
  • MYSQL_PASSWORD=owncloud
  • MYSQL_ROOT_PASSWORD=owncloud

Ich ändere also meine Kennwörter ab. Dies könnte beispielsweise so sein:

  • OWNCLOUD_DB_PASSWORD=5h32Agfh4612
  • MYSQL_PASSWORD=5h32Agfh4612
  • MYSQL_ROOT_PASSWORD=u4gAbgh421

Wichtig ist, dass „OWNCLOUD_DB_PASSWORD“ und „MYSQL_PASSWORD“ identisch sein müssen!

1.3.5 ownCloud Admin anpassen

Nun passen wir noch den Nutzernamen sowie das Passwort des Administrators an.

Dazu passt du folgende Zeilen an:

  • OWNCLOUD_ADMIN_USERNAME=admin
  • OWNCLOUD_ADMIN_PASSWORD=demo

Dies kannst du nun beliebig verändern.

Nun sind wir fertig mit der Vorbereitung.

2. ownCloud starten

Gib nun folgendes ein, um deinen ownCloud Container zu starten:

docker compose -f /opt/containers/owncloud/docker-compose.yml up -d 

Beim ersten Start des Containers wird ownCloud initialisiert. Dies bedeutet, dass die Datenbank eingerichtet, deine Einstellungen übernommen werden und vieles mehr. Daher dauert es einige Minuten, bis der Container dann über die Webseite erreichbar ist. Bei mir hat es ca. 2 Minuten gedauert.

Geh nun mit deinem Webbrowser auf deine Webseite (z.B. owncloud.euredomain.de). Dies sollte so aussehen.

ownCloud-Login-Seite: Dunkelblauer Hintergrund, weißes Logo, Felder für Benutzername/E-Mail und Passwort, Login-Button.

Hier kannst du dich nun mit deinen Accountdaten einloggen, welche du im Schritt 1.3.5 vergeben hast.


Beim ersten Start bekommst du Apps angezeigt, mit deren Hilfe du ownCloud auf den verschiedenen Geräten synchronisieren kannst.

Screenshot eines Pop-up-Fensters mit dem Titel 'A safe home for all your data', App-Store-Buttons (Desktop, Google Play, App Store) und drei Buttons unten.

3. Sprache ändern

Logg dich mit dem Benutzer ein, von dem du die Sprache ändern willst. Klicke dann auf deinen Namen und wähle „Settings“.

Dunkles Admin-UI; oben rechts 'admin ▾', Dropdown zeigt 'Settings', darunter 'Users' mit Symbolen.

Hier kannst du nun deine Sprache anpassen.

Screenshot einer Admin-Einstellungsseite: grüner Profilbild-Kreis mit A, Felder für Name, Passwort, Sprache English.

4. Erweiterungen installieren

Für ownCloud gibt es viele (kostenlose) Erweiterungen. Um diese zu installieren, klickst du auf das Menü oben links und wählt dann „Market“ aus.

Oben links Hamburger-Menü, daneben blaues 'Dateien'; unten schwarze Leiste mit 'Dateien', 'Aktivität' und rechts Market.

Hier bekommst du nun einen Überblick aller zur Verfügung stehenden Erweiterungen.

OwnCloud-Administrationsseite: linke Leiste, Kacheln mit Contacts, 2-Factor Auth, Custom Groups, Guests, FTP, OwnCloud-Logo

5. Login mittels 2 Faktor Authentifizierung absichern

Du musst folgende Erweiterung installieren, um diese Funktion zu nutzen:

Screenshot einer ownCloud-Seite zur 2-Faktor-Authentifizierung, links Navigationsmenü, mittig QR-Code, darunter Textabschnitte.

Nach der Installation gehst du dann oben rechts auf deinen Namen und wählst „Einstellungen“ aus.

Dunkles Admin-Dashboard: Kopfbereich mit 'admin' und Pfeil; seitliches Menü mit Icons, 'Einstellungen' und 'Benutzer'.

Nun wählst du den Reiter „Sicherheit“ aus.

Einstellungsseite mit blauem Kopfbereich; links Persönlich mit Allgemein, Speicher, Teilen, Sicherheit (roter Rahmen).

Hier aktivierst du nun „TOTP-Zweifaktorauthentifizierung“.

Einstellungsseite mit linkem Menü (Allgemein, Speicher, Teilen, Sicherheit) und TOTP-Zweifaktorauthentifizierung mit Checkbox.

Nach der Aktivierung bekommst du einen QR-Code angezeigt. Diesen scannst du mit einer Authenticator App eurer Wahl (z.B. Authy) und gibst dann den Code, welchen dir die App anzeigt, in das Feld ein.

UI-Fenster: TOTP-Zwei-Faktorauthentifizierung mit aktivierter Checkbox, QR-Code links, Textabschnitte, zwei Buttons unten.

Wenn alles funktioniert hat, sollte die Meldung „Bestätigt“ erscheinen.

TOTP-2FA-Einrichtung: aktivierte Checkbox, QR-Code, Eingabefeld 658689, Buttons Bestätigen.

Wenn du dich das nächste Mal bei ownCloud einloggen willst, wird neben deinem Nutzernamen und Passwort noch das „Einmalpasswort“ abgefragt.

Dunkler Bildschirm mit ownCloud-Logo, weißes Eingabefeld, blauer Button 'Bestätigen' und Link 'Anmelden abbrechen'.

6. Schutz vor Brute Force Angriffe aktivieren

Brute Force Angriff bedeutet, dass der Angreifer alle möglichen Passwörter durchprobiert. Dies kannst du einerseits mit der Zwei Faktor Authentifizierung verhindern (Schritt 5) oder du installierst noch diese Erweiterung.

Dazu musst du folgende Erweiterung installieren:

Bildschirm zeigt Titel Brute-Force Protection, isometrisches Diagramm mit leuchtendem Schloss, Blöcke und Lichtlinien.

Die Erweiterung ist nun sofort aktiv und du musst nichts weiteres mehr tun.

Zu den VPS Paketen

Weitere passende Themen