これはなに
- Docker 版 nextcloud を構築していた際に nextcloud 側で設定されている PHP_UPLOAD_LIMITの上限に引っかかってしまい、設定を上書きをするために簡単に調査したのでまとめました
デフォルトの設定
memory_limit upload_max_filesize post_max_size ともにデフォルト値は 512M です
設定方法
以前は php.ini を作成し公式イメージをベースに Dockerfile を記述していましたが、 ENV を渡せば php.ini が条件に沿って自動生成されるように変更されていました。
memory_limit の設定を行いたい場合は PHP_MEMORY_LIMIT に 1024M 等の値を渡します。
upload_max_filesize post_max_size の設定を行いたい場合は PHP_UPLOAD_LIMIT に同様に 1024M 等の値を設定します。
Dockerfile に直接記述する場合は以下のように
FROM nextcloud:apache
ENV PHP_MEMORY_LIMIT=1024M
ENV PHP_UPLOAD_LIMIT=1024M
docker-compose 等に以下のように記述しても 🆗 です。
※ 不要な db の記述は削除しています
version: '2'
volumes:
  nextcloud:
services:
  app:
  image: nextcloud
  restart: always
  ports:
    - 8080:80
  links:
    - db
  volumes:
    - nextcloud:/var/www/html
  environment:
    - MYSQL_PASSWORD=
    - MYSQL_DATABASE=nextcloud
    - MYSQL_USER=nextcloud
    - MYSQL_HOST=db
    - PHP_MEMORY_LIMIT=1024M
    - PHP_UPLOAD_LIMIT=1024M
Reference
