map $http_upgrade $connection_upgrade {
  default upgrade;
  '' close;
}

# events {
#   worker_connections 1000;
# }

server {

  gzip on;
  gzip_min_length 1000;
  gunzip on;

  client_max_body_size 50000M;

  listen 80;
  access_log off;

  location / {

    # Compression
    gzip_static         on;
    gzip_min_length     1000;
    gzip_comp_level     2;

    proxy_buffering off;
    proxy_buffer_size 16k;
    proxy_busy_buffers_size 24k;
    proxy_buffers 64 4k;
    proxy_force_ranges on;

    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;

    proxy_pass http://immich-server:3000;
  }
}