- Build own nextcloud 31.0.4 docker image
- Fix Nextcloud 31 Detected some missing optional indice
- Fix Nextcloud 31 hiec and ffmpeg with Intel QSV
- Fix Nextcloud 31 Incorrect row format found in your database
- Fix Nextcloud 31 One or more mimetype migrations are available
- Nextcloud 31 install face recognition dependencies
Tested on hardware
- GMKtec NucBox G9, Intel N150, 12GB LPDDR5, 64GB eMMC, 4x4TB Samsung 990 Pro + Ubuntu 24.04 with compiled Intel Graphics drivers
for initial OS setup like docker install see nextcloud 30
Update script
./nextcloud_update.sh
nextcloud_update.sh
#!/bin/bash docker compose -f nextcloud.yml ps docker compose -f nextcloud.yml down ; docker compose -f nextcloud.yml up -d --build --force-recreate; docker compose -f nextcloud.yml ps docker compose -f nextcloud.yml logs --follow
docker compose file
nextcloud.yml
docker-compose.yml
services: db: image: mariadb:10.11.7 container_name: cloud-db restart: always command: --transaction-isolation=READ-COMMITTED --log-bin=mysqld-bin --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed --log_bin_trust_function_creators=true volumes: - /storage/docker/nextcloud/mariadb:/var/lib/mysql:rw - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - type: tmpfs target: /tmp environment: - MYSQL_ROOT_PASSWORD=db_admin_pass - MYSQL_PASSWORD=db_user_pass - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MARIADB_AUTO_UPGRADE=yes - REDIS_HOST=redis - REDIS_PORT=6379 redis: image: redis:alpine container_name: cloud-cache restart: always server: image: nextcloud:31.0.5 container_name: cloud-server hostname: cloud.example.com restart: always ports: - 8880:80 links: - db - redis volumes: - /storage/docker/nextcloud/html:/var/www/html:rw - /storage/docker/nextcloud/scripts:/scripts:rw - /storage/docker/nextcloud/scripts-post-upgrade:/docker-entrypoint-hooks.d/post-upgrade:rw - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - type: tmpfs target: /tmp:exec devices: - /dev/dri:/dev/dri environment: - MYSQL_PASSWORD=db_user_pass - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=db - OVERWRITEHOST=cloud.example.com - OVERWRITEPROTOCOL=https - NEXTCLOUD_ADMIN_USER=nc_admin_user - NEXTCLOUD_ADMIN_PASSWORD=nc_admin_pass - NEXTCLOUD_UPLOAD_LIMIT=100G - PHP_UPLOAD_LIMIT=100G - PHP_MEMORY_LIMIT=8G - APACHE_BODY_LIMIT=0