Was ist Nextcloud?
Nextcloud ist eine leistungsstarke Open-Source-Plattform, die es ermöglicht, Daten sicher auf einem eigenen Server zu hosten und zu verwalten. Sie bietet Funktionen für das Speichern, Synchronisieren und Freigeben von Dateien, Kalendern, Kontakten und vielen weiteren Informationen. Im Gegensatz zu kommerziellen Cloud-Diensten behalten Nutzer bei Nextcloud die volle Kontrolle über ihre Daten, da diese auf eigenen oder privaten Servern gehostet werden können. Dies gewährleistet höchste Sicherheit und Privatsphäre, insbesondere durch Funktionen wie starke Verschlüsselung und Zwei-Faktor-Authentifizierung. Nextcloud bietet umfassende Werkzeuge für die Zusammenarbeit in Teams, darunter die gemeinsame Bearbeitung von Dokumenten, Videokonferenzen, Aufgabenverwaltung und File Sharing. Die Plattform ist auf allen Geräten verfügbar und unterstützt eine breite Palette an Apps und Erweiterungen, die nahtlos integriert werden können. Unternehmen und Organisationen profitieren zudem von der DSGVO-Konformität und der Anpassungsfähigkeit von Nextcloud, was eine flexible und skalierbare Lösung ermöglicht. Dank dieser Eigenschaften eignet sich Nextcloud sowohl für Privatpersonen als auch für Unternehmen, die ihre digitale Zusammenarbeit sicher, effizient und datenschutzkonform gestalten wollen.
Diese Anleitung zeigt Ihnen Schritt für Schritt, wie Sie Nextcloud mit Docker Compose auf einem Linux-Server installieren und konfigurieren. Als Reverse Proxy wird in dieser Anleitung Traefik benutzt für eine sichere HTTPS-Verbindung.
Voraussetzungen:
- Grundkenntnisse in Docker und Linux.
- Ein Linux-Server (z. B. Ubuntu, Debian).
- Docker und Docker Compose installiert.
- Traefik als Webserver/Reverse Proxy bereits konfiguriert.
- Eine registrierte Domain, die auf Ihren Server verweist.
Schritt 1: Docker und Docker Compose installieren
Falls Docker und Docker Compose noch nicht installiert sind, führen Sie die folgenden Schritte aus.
Docker installieren:
sudo apt update
sudo apt install docker.io -y
Docker Compose installieren:
sudo apt install docker-compose -y
Überprüfen Sie, ob Docker und Docker Compose korrekt installiert wurden:
docker --version
docker-compose --version
Schritt 2: Docker Compose Datei für Nextcloud erstellen
Erstellen Sie ein Verzeichnis für Ihre Docker-Compose:
mkdir -p /opt/containers/nextcloud/{database,app,data}
Verzeichnisstruktur:
database
: Speicherung der Datenbankdaten.app
: Hauptverzeichnis für Nextcloud.data
: Ablage der Nextcloud-Benutzerdaten.
Docker-Compose Datei erstellen:
Erstellen Sie die docker-compose.yml
-Datei:
nano /opt/containers/nextcloud/docker-compose.yml
Fügen Sie folgenden Inhalt in die Datei ein:
services:
nextcloud-db:
container_name: nextcloud-db
image: mariadb:11.3.2
env_file:
- .env
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./database:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_INITDB_SKIP_TZINFO=1
- MARIADB_AUTO_UPGRADE=1
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW --character-set-server=utf8 --innodb_read_only_compressed=OFF
networks:
- default
nextcloud-redis:
container_name: nextcloud-redis
image: redis:alpine
env_file:
- .env
hostname: nextcloud-redis
networks:
- default
restart: unless-stopped
command: redis-server --requirepass ${REDIS_PASSWORD}
nextcloud-app:
container_name: nextcloud-app
image: nextcloud:latest
env_file:
- .env
restart: unless-stopped
depends_on:
- nextcloud-db
- nextcloud-redis
environment:
- TRUSTED_PROXIES=172.16.255.254/12
- OVERWRITEPROTOCOL=https
- OVERWRITECLIURL=https://${NEXTCLOUD_DOMAIN}
- OVERWRITEHOST=${NEXTCLOUD_DOMAIN}
- REDIS_HOST=nextcloud-redis
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=nextcloud-db
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
volumes:
- ./app:/var/www/html
- ./daten:/var/www/html/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.nextcloud.entrypoints=websecure"
- "traefik.http.routers.nextcloud.rule=(Host(`${NEXTCLOUD_DOMAIN}`))"
- "traefik.http.routers.nextcloud.tls=true"
- "traefik.http.routers.nextcloud.tls.certresolver=http_resolver"
- "traefik.http.routers.nextcloud.service=nextcloud"
- "traefik.http.services.nextcloud.loadbalancer.server.port=80"
- "traefik.docker.network=proxy"
networks:
- proxy
- default
networks:
proxy:
external: true
#Written by Samuel Fischer from https://itdarmstadt.de
#Our Tutorial: https://www.itdarmstadt.de/nextcloud-docker-compose/
Schritt 3: .env Datei erstellen
Erstellen Sie die .env
-Datei für Umgebungsvariablen:
nano /opt/containers/nextcloud/.env
Fügen Sie folgende Informationen hinzu:
NEXTCLOUD_DOMAIN='cloud.deinedomain.de'
MYSQL_DATABASE='nextcloud'
MYSQL_USER='nextcloud'
MYSQL_ROOT_PASSWORD='hiereinpasswordrein'
MYSQL_PASSWORD='hiereinpasswordrein'
REDIS_PASSWORD='hiereinpasswordrein'
Schritt 4: Docker Compose starten
Starten Sie die Container mit Docker Compose:
docker-compose -f /opt/containers/nextcloud/docker-compose.yml up -d
Dieser Befehl lädt die Images und startet die Nextcloud- und Redis-/MariaDB-Container.
Schritt 4: Nextcloud im Browser einrichten
- Öffnen Sie Ihren Browser und rufen Sie Ihre Domain auf:
https://cloud.beispiel.de
- Sie werden zur Nextcloud-Einrichtungsseite weitergeleitet:
Erstellen Sie einen Admin-Benutzer und legen Sie ein Passwort fest. - Klicken Sie auf Installation abschließen.
Schritt 6: Nextcloud nutzen
Nach der erfolgreichen Installation können Sie sich mit Ihrem Admin-Konto anmelden und Nextcloud vollständig nutzen, um Dateien zu teilen, Benutzer hinzuzufügen und viele weitere Funktionen zu entdecken.
Schritt 7: Container verwalten
- Um die Container anzuhalten:
docker-compose -f /opt/containers/nextcloud/docker-compose.yml down
- Um die Logs der Container zu überwachen:
docker-compose -f /opt/containers/nextcloud/docker-compose.yml logs -f
Support & Dienstleistungen
Wenn Sie Unterstützung bei der Installation benötigen oder Nextcloud professionell hosten möchten, kontaktieren Sie uns bei ITDarmstadt. Wir bieten maßgeschneiderte Lösungen für Ihre Anforderungen.
Datum | Änderungen | Von |
27.01.2024 | Beitrag wurde freigegeben und veröffentlicht. | Samuel Fischer |
08.09.2024 | Überarbeitung des Beitrages. Anpassung der docker-compose.yml, Version nicht mehr benötigt. | Samuel Fischer |
Denis
Super Anleitung! Ich habe schon Ewigkeiten nach einer funktionierenden Lösung gesucht. Danke Vielmals!