- 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