Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:nextcloud_mit_docker_compose

nextcloud mit Docker Compose

Dafür gibt es mehrere Wege:

→ Wir nutzen hier im Beispiel das „Docker Official Image“, das ist aber keine Empfehlung in die eine oder andere Richtung.

Pakete

  • Debian (12): pwgen

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

TODO: besser docker volumes in BTRFS nutzen statt 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 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
admin_grundlagen/nextcloud_mit_docker_compose.txt · Zuletzt geändert: 2024/03/01 09:42 von ingo_wichmann