diff --git a/Dockerfile b/Dockerfile index 8aeca244c..ce75766e6 100755 --- a/Dockerfile +++ b/Dockerfile @@ -10,6 +10,8 @@ RUN install-php-extensions iconv gd pdo pdo_mysql pdo_pgsql pgsql \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* +COPY docker/librespeed-php.ini ${PHP_INI_DIR}/conf.d/99-librespeed.ini + # Prepare files and folders RUN mkdir -p /speedtest/ diff --git a/Dockerfile.alpine b/Dockerfile.alpine index 47f694bd5..e62ad9e1e 100755 --- a/Dockerfile.alpine +++ b/Dockerfile.alpine @@ -20,6 +20,17 @@ RUN apk add --quiet --no-cache \ RUN ln -sf /dev/stdout /var/log/apache2/access.log && \ ln -sf /dev/stderr /var/log/apache2/error.log +# Install the ini into the scan dir PHP itself reports. +COPY docker/librespeed-php.ini /tmp/librespeed-php.ini +RUN set -eu; \ + scan_dir="$(php -r 'echo rtrim(PHP_CONFIG_FILE_SCAN_DIR);')"; \ + if [ -z "$scan_dir" ]; then \ + echo "ERROR: PHP_CONFIG_FILE_SCAN_DIR is empty" >&2; \ + exit 1; \ + fi; \ + install -m 0644 /tmp/librespeed-php.ini "$scan_dir/99-librespeed.ini"; \ + rm /tmp/librespeed-php.ini + # Prepare files and folders RUN mkdir -p /speedtest/ diff --git a/docker/librespeed-php.ini b/docker/librespeed-php.ini new file mode 100644 index 000000000..6a25f2fae --- /dev/null +++ b/docker/librespeed-php.ini @@ -0,0 +1,5 @@ +; speedtest_worker.js defaults xhr_ul_blob_megabytes to 20. +; PHP's stock post_max_size = 8M rejects those upload chunks before +; empty.php can send its headers. 32M leaves modest headroom. + +post_max_size = 32M