nextcloud Private Cloud als docker container

nextcloud Private Cloud als docker container

nextcloud Private Cloud

Nextcloud ist eine Open‑Source‑Software für selbstgehostetes Cloud‑Storage (auch Private Cloud genannt).

Das bedeutet: Du installierst sie auf einem Server deiner Wahl (z. B. ein NAS, ein VPS, ein eigener PC) und hast damit einen privaten Cloud‑Speicher, den nur du bzw. die von dir autorisierten Personen nutzen können.

Kernfunktionen

  • Hochladen/Herunterladen, Synchronisation (Desktop‑Client, Mobile‑Apps), Web‑Ansicht
  • Echtzeit‑Bearbeitung mit Collabora / LibreOffice Online, Kommentare, Versionsverlauf
  • iCal/Kontakte synchronisieren, gemeinsam nutzen
  • Chat/Private Nachrichten (WebRTC‑Video), Gruppenchats
  • Verschlüsselung (client‑side, server‑side), Zwei‑Faktor‑Authentifizierung, IP‑Whitelist, Rollen‑basierte Zugriffssteuerung
  • Nutzer‑Management, Speicher‑Reporting, Backup/Restore

Quelle des Projekts: https://nextcloud.com

Voraussetzung

Docker muss installiert sein. Z.B. so:

curl -fsSL https://get.docker.com | sh

Vorgehen

Du kannst Dir auf einem Server Deiner Wahl ein Verzeichnis erstellen. Darin erstellst Du die benötigten Dateien "docker-compse.yml" und ".env":

docker-compose.yml

services:
  nextcloud:
    image: linuxserver/nextcloud:latest
    container_name: nextcloud-app
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
    volumes:
      - /path/to/nextcloud/config:/config
      - /path/to/nextcloud/data:/data
    restart: unless-stopped
    depends_on:
      - db
    networks:
      - nextcloud-net
      - proxy-net

  db:
    image: mariadb:11
    container_name: nextcloud-db
    volumes:
      - /path/to/nextcloud/db:/var/lib/mysql
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
      - MYSQL_DATABASE=${MYSQL_DATABASE}
      - MYSQL_USER=${MYSQL_USER}
      - MYSQL_PASSWORD=${MYSQL_PASSWORD}
    networks:
      - nextcloud-net

  redis:
    image: redis:latest
    container_name: nextcloud-redis
    command: redis-server --requirepass ${REDIS_PASSWORD}
    environment:
      - REDIS_PASSWORD=${REDIS_PASSWORD}
    volumes:
      - /storage/nextcloud/redis:/data
    restart: unless-stopped
    networks:
      - nextcloud-net

networks:
  nextcloud-net:
    driver: bridge
  proxy-net:
    external: true

In der Datei ".env" werden dann die Inhalte der Umgebungsvariablen gespeichert. Außerdem muss das externe Netzwerk "proxy-net" existieren, in dem der reverse proxy hängt (-> siehe meine Seite zu nginx proxy manager).

.env

MYSQL_ROOT_PASSWORD=
MYSQL_DATABASE=nextcloud
MYSQL_USER=nextcloud
MYSQL_PASSWORD=
REDIS_PASSWORD=

Du vergibst jetzt noch die Passwörter für die die mariadb-Datenbank und den Redis-Cache.

Starten der Container

Jetzt kannst Du auf der Kommandozeile oder über einen docker-Manager wie Portainer die Container starten:

docker compose up -d

Reverse proxy

Im nginx proxy manager erstellt Du nun den Hostnamen der Seite, z.B. cloud.geekgully.de, und generierst das SSL-Zertifikat. Danach ist Kitchenowl z.B. unter https://cloud.geekgully.de erreichbar.

 

Comments powered by CComment

Save
Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Marketing
Set of techniques which have for object the commercial strategy and in particular the market study.
Facebook
Accept
Decline
Unknown
Unknown
Accept
Decline