Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:docker:nextcloud_mit_docker_compose

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

admin_grundlagen:docker:nextcloud_mit_docker_compose [2026/01/25 13:52] (aktuell)
ingo_wichmann angelegt
Zeile 1: Zeile 1:
 +====== nextcloud mit Docker Compose ======
 +Dafür gibt es mehrere Wege:
 +  * [[https://​github.com/​nextcloud/​all-in-one#​nextcloud-all-in-one|Docker all-in-one-Image der Nextcloud GmbH]]
 +  * [[https://​hub.docker.com/​_/​nextcloud|Docker Official nextcloud Image]]
 +  * ... und wahrscheinlich viele weitere Wege mehr. 
 +-> Wir nutzen hier im Beispiel das "​Docker Official Image",​ das ist aber keine Empfehlung für oder gegen dieses Image.
 +===== Pakete =====
 +  * Alle Distributionen:​ ''​pwgen''​
 +  * ''​docker-compose''​
 +  ​
 +===== Nextcloud Docker Compose vorbereiten =====
 +  mkdir -p /​srv/​docker/​nextcloud/​
 +  cd /​srv/​docker/​nextcloud/​
 +  MYSQL_ROOT_PASSWORD=$(pwgen 20 1)
 +  MYSQL_PASSWORD=$(pwgen 20 1)
 +  cat <<​COMPOSE > docker-compose.yml
 +<code yaml>
 +version: '​2'​
 +services:
 +  db:
 +    image: mariadb:​10.6
 +    restart: always
 +    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
 +    volumes:
 +      - ./​db:/​var/​lib/​mysql
 +    environment:​
 +      - MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
 +      - MYSQL_PASSWORD=$MYSQL_PASSWORD
 +      - MYSQL_DATABASE=nextcloud
 +      - MYSQL_USER=nextcloud
 +  app:
 +    image: nextcloud:​27.1.1
 +    #image: nextcloud:​27.1.6
 +    #image: nextcloud:​28.0.2
 +    #image: nextcloud:​latest
 +    restart: always
 +    ports:
 +      - 8080:80
 +    links:
 +      - db
 +    volumes:
 +      - ./​nextcloud:/​var/​www/​html
 +    environment:​
 +      - MYSQL_PASSWORD=$MYSQL_PASSWORD
 +      - MYSQL_DATABASE=nextcloud
 +      - MYSQL_USER=nextcloud
 +      - MYSQL_HOST=db
 +</​code>​
 +  COMPOSE
 +  ​
 +===== Container starten =====
 +
 +(Mit Docker aus Debian <= 12 oder openSUE Leap <= 15.6 oder Ubuntu muss ''​docker compose''​ durch ''​docker-compose''​ ersetzt werden.)
 +
 +
 +  docker compose up -d
 +  docker compose logs -f
 +-> Nextcloud einrichten unter http://​localhost:​8080
 +
 +===== Nextcloud Update =====
 +==== Backup mit tar ====
 +
 +-> http://​localhost:​8080/​settings/​admin/​overview
 +
 +Aktuellere Minor- oder Major-Version suchen:
 +  curl -L -s '​https://​registry.hub.docker.com/​v2/​repositories/​library/​nextcloud/​tags?​page_size=1024'​ | jq '​."​results"​[]["​name"​]'​
 +  docker compose down
 +  tar caf db-27.1.1.tar.zst db/
 +  tar caf nextcloud-27.1.1.tar.zst nextcloud/
 +-> ''​docker-compose.yml''​ bearbeiten
 +  docker compose up -d
 +  docker compose logs -f
 +
 +==== Alternativ: backup mit btrfs snapshots ====
 +-> http://​localhost:​8080/​settings/​admin/​overview
 +
 +Aktuellere Minor- oder Major-Version suchen:
 +  curl -L -s '​https://​registry.hub.docker.com/​v2/​repositories/​library/​nextcloud/​tags?​page_size=1024'​ | jq '​."​results"​[]["​name"​]'​
 +  docker compose down
 +  btrfs subvolume snapshot -r db db-27.1.1
 +  btrfs subvolume snapshot -r nextcloud nextcloud-27.1.1
 +-> ''​docker-compose.yml''​ bearbeiten
 +  docker compose up -d
 +  docker compose logs -f
  
admin_grundlagen/docker/nextcloud_mit_docker_compose.txt · Zuletzt geändert: 2026/01/25 13:52 von ingo_wichmann