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