Skip to content

Memory and upload limits not being applied correctly in Nextcloud AIO container #6586

@lionfish2

Description

@lionfish2

Issue Description:
The environment variables NEXTCLOUD_MEMORY_LIMIT, NEXTCLOUD_MAX_TIME, and NEXTCLOUD_UPLOAD_LIMIT are set correctly in the Docker command, but the PHP settings inside the container do not reflect these changes. Specifically:

  • memory_limit remains 128M instead of 16384M
  • upload_max_filesize is still set to 2M instead of 1024G
  • max_input_time is set to -1 (as expected, but no clear reference for expected behavior)

This is affecting the upload performance and overall behavior of Nextcloud, as the limits are being constrained by the default PHP values.

Steps to Reproduce:

  1. Remove the old nextcloud-aio-mastercontainer
  2. Run the following Docker command to start the Nextcloud AIO container:
docker run -d --name='nextcloud-aio-mastercontainer' \
  --net='bridge' \
  --pids-limit 2048 \
  -e TZ="America/Los_Angeles" \
  -e HOST_OS="Unraid" \
  -e HOST_HOSTNAME="server" \
  -e HOST_CONTAINERNAME="nextcloud-aio-mastercontainer" \
  -e 'APACHE_PORT'='11000' \
  -e 'NEXTCLOUD_DATADIR'='/mnt/zfs-data-pool/nextcloud/' \
  -e 'NEXTCLOUD_MEMORY_LIMIT'='16384M' \
  -e 'NEXTCLOUD_MAX_TIME'='43200' \
  -e 'NEXTCLOUD_UPLOAD_LIMIT'='1024G' \
  -e 'NEXTCLOUD_TRUSTED_PROXIES'='REDACTED' \
  -e 'NEXTCLOUD_OVERWRITEHOST'='example.com' \
  -e 'NEXTCLOUD_OVERWRITEPROTOCOL'='https' \
  -e 'AIO_DISABLE_BACKUP_SECTION'='true' \
  -e 'APACHE_REMOTE_IP_HEADER'='X-Forwarded-For' \
  -e 'APACHE_IP_BINDING'='0.0.0.0' \
  -e 'NEXTCLOUD_MAX_INPUT_TIME'='43200' \
  -e 'SKIP_DOMAIN_VALIDATION'='true' \
  -l net.unraid.docker.managed=dockerman \
  -l net.unraid.docker.webui='https://[IP]:[PORT:8080]' \
  -l net.unraid.docker.icon='https://raw.githubusercontent.com/SpaceinvaderOne/Docker-Templates-Unraid/refs/heads/master/spaceinvaderone/docker_icons/nextcloud_aio.png' \
  -p '7282:8080/tcp' \
  -v '/var/run/docker.sock':'/var/run/docker.sock':'ro' \
  -v 'nextcloud_aio_mastercontainer':'/mnt/docker-aio-config':'rw' \
  --dns 1.1.1.1 --dns 9.9.9.9 --device=/dev/dri:/dev/dri \
  'nextcloud/all-in-one:latest'
  1. After the container is running, execute the following command inside the container:
docker exec -it nextcloud-aio-mastercontainer bash
php -i | grep memory_limit
php -i | grep upload_max_filesize
php -i | grep max_input_time

Expected Behavior:
The values should reflect the following:

  • memory_limit => 16384M
  • upload_max_filesize => 1024G
  • max_input_time => 43200 (or as defined by the environment)

Actual Behavior:
The actual values returned are:

  • memory_limit => 128M
  • upload_max_filesize => 2M
  • max_input_time => -1

Logs:
Here are the relevant logs from the Nextcloud server:

{"reqId":"xq93WYgWYWVrLCDEOVZ2","level":3,"time":"2025-06-26T07:59:11+00:00","remoteAddr":"REDACTED","user":"[Username]","message":"Expected filesize of 104857600 bytes but read (from Nextcloud client) and wrote (to Nextcloud storage) 75972608 bytes. Could either be a network problem on the sending side or a problem writing to the storage on the server side."}
{"reqId":"mQugGY7w1SjXbVTAAHKg","level":3,"time":"2025-06-26T07:59:11+00:00","remoteAddr":"REDACTED","user":"[Username]","message":"Expected filesize of 104857600 bytes but read (from Nextcloud client) and wrote (to Nextcloud storage) 80936960 bytes. Could either be a network problem on the sending side or a problem writing to the storage on the server side."}
{"reqId":"cIV2QZrkvZnkNr7lxJbj","level":3,"time":"2025-06-26T07:59:18+00:00","remoteAddr":"REDACTED","user":"[Username]","message":"Expected filesize of 104857600 bytes but read (from Nextcloud client) and wrote (to Nextcloud storage) 79642624 bytes. Could either be a network problem on the sending side or a problem writing to the storage on the server side."}
... (additional log entries omitted for brevity)

Possible Causes:

  • There could be issues with the Docker container’s PHP configuration that are not picking up the environment variables correctly.
  • The Nextcloud AIO Docker image might be overriding these values with defaults from php.ini.
  • There may be other configuration files that prevent these values from being applied at runtime.

Metadata

Metadata

Assignees

No one assigned

    Labels

    0. Needs triagePending approval or rejection. This issue is pending approval.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions