--- volumes: nextcloud-data: nextcloud-db: services: nextcloud-app: image: docker.io/library/nextcloud:28.0.3-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 28 # https://docs.nextcloud.com/server/28/admin_manual/installation/system_requirements.html image: docker.io/library/mariadb:11.3.2 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