From b47e006c9ca827e0953426a93554f3547ad1415e Mon Sep 17 00:00:00 2001 From: Hattshire Date: Thu, 7 Mar 2024 22:26:41 +0000 Subject: [PATCH] Set longer timeouts; Use production docker nextcloud --- docker-compose.yml | 8 ++------ images/nc/Dockerfile | 18 ++++++++++++++---- images/nc/upload.ini | 6 ++++++ images/ngx/nginx.conf | 11 ++++++++++- 4 files changed, 32 insertions(+), 11 deletions(-) create mode 100644 images/nc/upload.ini diff --git a/docker-compose.yml b/docker-compose.yml index 524ba76..80e7a80 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,7 +15,7 @@ networks: services: # ============ NextCloud nextcloud: - image: nextcloud:27.1-fpm + build: ./images/nc restart: always volumes: - nc-data:/var/www/html @@ -35,13 +35,9 @@ services: depends_on: - db - redis - deploy: - resources: - limits: - memory: 1G nextcloud-janitor: - image: nextcloud:27.1-fpm + build: ./images/nc restart: always volumes: - nc-data:/var/www/html diff --git a/images/nc/Dockerfile b/images/nc/Dockerfile index 8201af0..88b10f1 100644 --- a/images/nc/Dockerfile +++ b/images/nc/Dockerfile @@ -1,5 +1,15 @@ -FROM nextcloud:25.0 +FROM nextcloud:production-fpm -RUN echo "*/5 * * * * php -f /var/www/nextcloud/occ preview:pre-generate">> /var/spool/cron/crontabs/www-data -RUN apt-get update && apt-get install --no-install-recommends -y ffmpeg imagemagick && apt remove gcc -y && apt autoremove -y \ - && rm -rf /var/lib/apt/lists/* +# Pregenerate previews +RUN echo "*/5 * * * * php -f /var/www/html/occ preview:pre-generate">> /var/spool/cron/crontabs/www-data + +# Install app deps +RUN apt-get update && apt-get install --no-install-recommends -y \ + ffmpeg imagemagick wget gnupg2 unzip + +## Increase memory limits +COPY upload.ini /usr/local/etc/php/conf.d/upload.ini + +# Remove residual gcc +RUN apt remove gcc -y && apt autoremove -y \ + && rm -rf /var/lib/apt/lists/* diff --git a/images/nc/upload.ini b/images/nc/upload.ini new file mode 100644 index 0000000..bacf498 --- /dev/null +++ b/images/nc/upload.ini @@ -0,0 +1,6 @@ +upload_max_filesize=16G +post_max_size=16G +max_input_time=3600 +max_execution_time=3600 +memory_limit=1G +output_buffering=0 diff --git a/images/ngx/nginx.conf b/images/ngx/nginx.conf index 26e31bf..e2c2fdc 100644 --- a/images/ngx/nginx.conf +++ b/images/ngx/nginx.conf @@ -45,8 +45,13 @@ http { #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; # set max upload size - client_max_body_size 512M; + client_max_body_size 1G; + + # adjust buffering + client_body_temp_path /tmp/ngx 1 2; + proxy_buffering off; fastcgi_buffers 64 4K; + fastcgi_request_buffering off; # Enable gzip but do not remove ETag headers gzip on; @@ -141,6 +146,10 @@ http { fastcgi_param PATH_INFO $path_info; #fastcgi_param HTTPS on; + fastcgi_read_timeout 3600; + proxy_read_timeout 3600; + proxy_connect_timeout 3600; + fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice fastcgi_param front_controller_active true; # Enable pretty urls fastcgi_pass php-handler;