diff --git a/modules/nixos/think-backend-gtcm.nix b/modules/nixos/think-backend-gtcm.nix index 02ca5ec..8d71ebc 100644 --- a/modules/nixos/think-backend-gtcm.nix +++ b/modules/nixos/think-backend-gtcm.nix @@ -7,6 +7,30 @@ let cfg = config.services.think-backend-greaterchiangmai; think-backend-gtcm = pkgs.think-backend-gtcm.override { dataDir = cfg.dataDir; }; + file-uploader = pkgs.file-uploader.override { dataDir = cfg.dataDir; }; + + nginxNodeProxyConfig = '' + proxy_pass http://127.0.0.1:3000; + + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header x-webobjects-server-protocol HTTP/1.0; + proxy_set_header x-webobjects-remote-host 127.0.0.1; + proxy_set_header x-webobjects-server-port $server_port; + proxy_set_header x-webobjects-server-name $server_name; + proxy_set_header x-webobjects-server-url $scheme://$host; + proxy_connect_timeout 90; + proxy_send_timeout 90; + proxy_read_timeout 90; + proxy_buffer_size 64k; + proxy_buffers 8 64k; + proxy_busy_buffers_size 64k; + proxy_temp_file_write_size 64k; + client_max_body_size 50m; + client_body_buffer_size 128k; + ''; + defaultUser = "gtcm"; defaultGroup = "gtcm"; @@ -245,7 +269,7 @@ in "d ${cfg.dataDir}/storage/logs 0700 ${cfg.user} ${cfg.group} - -" "d ${cfg.dataDir}/storage/uploads 0700 ${cfg.user} ${cfg.group} - -" - "d ${cfg.dataDir}/upload-large-file/uploads 0700 ${cfg.user} ${cfg.group} - -" + "d ${cfg.dataDir}/file-uploader/uploads 0700 ${cfg.user} ${cfg.group} - -" ]; networking.firewall.allowedTCPPorts = [ @@ -274,9 +298,12 @@ in extraConfig = "expires 365d;"; }; - "/initiate-multiplart-upload" = { - - }; + "/initiate-multiplart-upload".extraConfig = nginxNodeProxyConfig; + "/get-presigned-url".extraConfig = nginxNodeProxyConfig; + "/complete-multipart-upload".extraConfig = nginxNodeProxyConfig; + "/generate-presigned-url".extraConfig = nginxNodeProxyConfig; + "/enable-bucket-cors".extraConfig = nginxNodeProxyConfig; + "/upload".extraConfig = nginxNodeProxyConfig; }; }; }; diff --git a/pkgs/file-uploader.nix b/pkgs/file-uploader.nix index 1d13fe2..59e6322 100644 --- a/pkgs/file-uploader.nix +++ b/pkgs/file-uploader.nix @@ -34,7 +34,7 @@ buildNpmPackage { mkdir -p $out cp -r * $out ln -s ${dataDir}/.env $out/.env - ln -s ${dataDir}/uploads $out/src/be/uploads + ln -s ${dataDir}/file-uploader/uploads $out/src/be/uploads runHook postInstall ''; }