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.
pwgen
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
docker compose up -d docker compose logs -f
→ Nextcloud einrichten unter http://localhost:8080
→ 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
→ 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