Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
admin_grundlagen:nextcloud_mit_docker_compose [2024/02/24 11:13] ingo_wichmann angelegt |
— (aktuell) | ||
|---|---|---|---|
| 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 in die eine oder andere Richtung. | ||
| - | ===== 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 ===== | ||
| - | docker compose up -d | ||
| - | docker compose logs -f | ||
| - | -> Nextcloud einrichten unter http://localhost:8080 | ||
| - | |||
| - | ===== Nextcloud Update ===== | ||
| - | TODO: besser docker volumes in BTRFS nutzen statt Backup mit tar | ||
| - | |||
| - | Aktuellere Minor-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 cf db-27.1.1.tar.zstd --use-comp=zstd db | ||
| - | tar cf nextcloud-27.1.1.tar.zstd --use-comp=zstd nextcloud/ | ||
| - | -> ''docker-compose.yml'' bearbeiten | ||
| - | docker compose up -d | ||
| - | docker compose logs -f | ||