user nginx;
pid /run/nginx.pid;
worker_processes 1;
error_log /dev/stderr warn;

events {
	worker_connections 1024;
}

http {
	include mime.types;
	default_type application/octet-stream;

	access_log off;
	server_tokens off;
	client_max_body_size 100m;
	sendfile on;

	server {
		listen 8080;
		server_name localhost;

		root /srv/kanboard;
		index index.php;

		location / {
			try_files $uri $uri/ /index.php$is_args$args;
		}

		location ~ \.php$ {
			try_files $uri =404;
			fastcgi_split_path_info ^(.+\.php)(/.+)$;
			fastcgi_pass unix:/var/run/kanboard.sock;
			fastcgi_index index.php;
			include fastcgi_params;
			fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
			fastcgi_param HTTP_HOST $http_x_forwarded_host if_not_empty;
			fastcgi_param HTTPS "on";
			fastcgi_param REQUEST_SCHEME "https";
			fastcgi_param SERVER_NAME $http_x_forwarded_server_name if_not_empty;
			fastcgi_param SERVER_PORT $http_x_forwarded_server_port if_not_empty;
		}

		location ~* ^.+\.(log|sqlite)$ {
			return 404;
		}

		location ~ /\.ht {
			return 404;
		}

		location ~* ^.+\.(ico|jpg|gif|png|css|js|svg|eot|ttf|woff|woff2|otf)$ {
			log_not_found off;
			expires 7d;
			etag on;
		}

		gzip on;
		gzip_comp_level 3;
		gzip_disable "msie6";
		gzip_vary on;
		gzip_types text/javascript application/javascript application/json text/xml application/xml application/rss+xml text/css text/plain;
	}
}
