Docker Compose nextcloud

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Arbeitsverzeichnis erstellen

  • mkdir -p /mnt/docker/nextcloud
  • cd /mnt/docker/nextcloud

Docker Compose Datei erstellen

  • vi docker-compose.yml
version: '2'
volumes:
  nextcloud:
  db:
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=sysadm
      - MYSQL_PASSWORD=suxer
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
  app:
    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=suxer
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db

Quellen

Erläuterung

Eigenschaft Beschreibung
version Die Version des Docker-Compose-Formats, das in diesem YAML-File verwendet wird (hier: "2").
volumes Definiert benannte Volumes für das Persistieren von Daten (hier: "nextcloud" und "db").
services Definiert die Dienste (oder Container), die in diesem Docker-Compose-File konfiguriert werden.
db Der Dienst für die Datenbank.
image Das Docker-Image, das für den Dienst verwendet wird (hier: "mariadb:10.6").
restart Definiert das Neustartverhalten des Containers (hier: "always").
command Der Befehl, der beim Starten des Containers ausgeführt wird.
environment Umgebungsvariablen, die dem Container bereitgestellt werden.
app Der Dienst für die Nextcloud-Anwendung.
web Der Dienst für den NGINX-Webserver.
ports Leitet die Ports vom Host auf den Container weiter (hier: "8080:80").
links Verknüpft Dienste miteinander, um Kommunikation zu ermöglichen.
volumes_from Bindet Volumes von einem anderen Container ein.

Starten

  • docker compose up -d

Logs

  • docker compose logs

Down

  • docker compose down

Update

Es ist eine gute Idee vorher eine Backup zu machen. Wenn der Versionssprung zu gross ist, kann es passieren, das man die Datenbank anpassen muss. Dies läuft dann in der Regel mit php Scripten.

Neues Image pullen

  • docker compose pull