Inhaltsverzeichnis

nextcloud mit Docker Compose

Dafür gibt es mehrere Wege:

→ Wir nutzen hier im Beispiel das „Docker Official Image“, das ist aber keine Empfehlung für oder gegen dieses Image.

Pakete

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
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
COMPOSE

Container starten

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