Tutorials

Nextcloud installieren

Nextcloud ist eine selbstgehostete Plattform für Dateisynchronisation, Kalender, Kontakte und Zusammenarbeit. Diese Anleitung installiert Nextcloud mit Docker Compose, inklusive MariaDB-Datenbank und Nginx-Reverse-Proxy.

Voraussetzungen

  • Ein VPS mit Ubuntu 20.04+ oder Debian 11+
  • Docker installiert
  • Mindestens 2 GB RAM
  • Mindestens 20 GB freier Speicherplatz (mehr je nach Speicherbedarf)
  • Ein Domainname, der auf deinen Server zeigt (für SSL)

1. Mit deinem Server verbinden

ssh root@DEINE_SERVER_IP

Oder verwende das Web-Terminal im Sitequest-Dashboard.

2. Projektverzeichnis erstellen

mkdir -p /opt/nextcloud && cd /opt/nextcloud

3. Docker-Compose-Datei erstellen

nano docker-compose.yml
services:
  db:
    image: mariadb:11
    restart: always
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: ROOT_PASSWORT_AENDERN
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: DB_PASSWORT_AENDERN

  app:
    image: nextcloud:stable
    restart: always
    ports:
      - "8080:80"
    volumes:
      - nextcloud_data:/var/www/html
    environment:
      MYSQL_HOST: db
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: DB_PASSWORT_AENDERN
      NEXTCLOUD_TRUSTED_DOMAINS: deine-domain.de
    depends_on:
      - db

volumes:
  db_data:
  nextcloud_data:

Ersetze die Passwörter und Domain durch deine eigenen Werte. Verwende starke, einzigartige Passwörter.

4. Container starten

docker compose up -d

Warte eine Minute, bis die Datenbank initialisiert ist, dann prüfe:

docker compose ps

Beide Container sollten als "running" angezeigt werden.

5. Reverse Proxy mit SSL einrichten

Wenn du Nginx installiert hast, erstelle einen Server-Block:

nano /etc/nginx/sites-available/nextcloud
server {
    listen 80;
    server_name deine-domain.de;

    client_max_body_size 512M;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Aktivieren und neu laden:

ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

Dann SSL mit Let's Encrypt holen:

certbot --nginx -d deine-domain.de

6. Einrichtung abschließen

Öffne https://deine-domain.de im Browser. Erstelle ein Admin-Konto und schließe den Web-Installer ab.

7. Empfohlene Nachinstallations-Anpassungen

Führe diese Befehle im Container aus:

docker compose exec app php occ config:system:set overwriteprotocol --value="https"
docker compose exec app php occ config:system:set default_phone_region --value="DE"
docker compose exec app php occ background:cron

Füge einen Cronjob für Hintergrundaufgaben hinzu:

echo "*/5 * * * * docker exec nextcloud-app-1 php -f /var/www/html/cron.php" >> /etc/crontab

Nächste Schritte

  • Nextcloud-Desktop- und Mobil-Apps für die Dateisynchronisation installieren
  • Serverseitige Verschlüsselung für sensible Daten aktivieren
  • Externen Speicher (S3, SMB) als zusätzliches Backend einrichten
  • E-Mail-Benachrichtigungen über SMTP konfigurieren
  • Automatische Backups der nextcloud_data- und db_data-Volumes einrichten