--- volumes: nextcloud-data: nextcloud-db: services: nextcloud-app: image: docker.io/library/nextcloud:29.0.0-apache container_name: nextcloud-app ports: - 80:80 volumes: - nextcloud-data:/var/www/html environment: - MYSQL_PASSWORD=$MYSQL_PASSWORD - MYSQL_DATABASE=$MYSQL_DATABASE - MYSQL_USER=$MYSQL_USER - MYSQL_HOST=nextcloud-db restart: unless-stopped nextcloud-db: # See compatibility matrix for Nextcloud 29 # https://docs.nextcloud.com/server/29/admin_manual/installation/system_requirements.html image: docker.io/library/mariadb:10.6.18 container_name: nextcloud-db command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW volumes: - nextcloud-db:/var/lib/mysql environment: - MYSQL_RANDOM_ROOT_PASSWORD=true - MYSQL_PASSWORD=$MYSQL_PASSWORD - MYSQL_DATABASE=$MYSQL_DATABASE - MYSQL_USER=$MYSQL_USER restart: unless-stopped