mirror of
https://github.com/hzrd149/nostrudel.git
synced 2025-03-25 17:21:57 +01:00
111 lines
2.4 KiB
Bash
Executable File
111 lines
2.4 KiB
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
PROXY_PASS_BLOCK=""
|
|
|
|
if [ -n "$CACHE_RELAY" ]; then
|
|
echo "Cache relay set to $CACHE_RELAY"
|
|
sed -i 's/CACHE_RELAY_ENABLED = false/CACHE_RELAY_ENABLED = true/g' /usr/share/nginx/html/index.html
|
|
PROXY_PASS_BLOCK="$PROXY_PASS_BLOCK
|
|
location /local-relay {
|
|
proxy_pass http://$CACHE_RELAY/;
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade \$http_upgrade;
|
|
proxy_set_header Connection "upgrade";
|
|
}
|
|
"
|
|
else
|
|
echo "No cache relay set"
|
|
fi
|
|
|
|
if [ -n "$CORS_PROXY" ]; then
|
|
echo "CORS proxy set to $CORS_PROXY"
|
|
sed -i 's/CORS_PROXY_PATH = ""/CORS_PROXY_PATH = "\/corsproxy"/g' /usr/share/nginx/html/index.html
|
|
PROXY_PASS_BLOCK="$PROXY_PASS_BLOCK
|
|
location /corsproxy/ {
|
|
proxy_pass http://$CORS_PROXY;
|
|
rewrite ^/corsproxy/(.*) /\$1 break;
|
|
}
|
|
"
|
|
else
|
|
echo "No CORS proxy set"
|
|
fi
|
|
|
|
if [ -n "$IMAGE_PROXY" ]; then
|
|
echo "Image proxy set to $IMAGE_PROXY"
|
|
sed -i 's/IMAGE_PROXY_PATH = ""/IMAGE_PROXY_PATH = "\/imageproxy"/g' /usr/share/nginx/html/index.html
|
|
PROXY_PASS_BLOCK="$PROXY_PASS_BLOCK
|
|
location /imageproxy/ {
|
|
proxy_pass http://$IMAGE_PROXY;
|
|
rewrite ^/imageproxy/(.*) /\$1 break;
|
|
}
|
|
"
|
|
else
|
|
echo "No Image proxy set"
|
|
fi
|
|
|
|
CONF_FILE="/etc/nginx/conf.d/default.conf"
|
|
NGINX_CONF="
|
|
server {
|
|
listen 80;
|
|
|
|
server_name localhost;
|
|
merge_slashes off;
|
|
|
|
$PROXY_PASS_BLOCK
|
|
|
|
location / {
|
|
root /usr/share/nginx/html;
|
|
index index.html index.htm;
|
|
}
|
|
|
|
# Gzip settings
|
|
gzip on;
|
|
gzip_disable "msie6";
|
|
gzip_vary on;
|
|
gzip_proxied any;
|
|
gzip_comp_level 6;
|
|
gzip_buffers 16 8k;
|
|
gzip_http_version 1.1;
|
|
gzip_min_length 256;
|
|
gzip_types
|
|
application/atom+xml
|
|
application/geo+json
|
|
application/javascript
|
|
application/x-javascript
|
|
application/json
|
|
application/ld+json
|
|
application/manifest+json
|
|
application/rdf+xml
|
|
application/rss+xml
|
|
application/xhtml+xml
|
|
application/xml
|
|
font/eot
|
|
font/otf
|
|
font/ttf
|
|
image/svg+xml
|
|
text/css
|
|
text/javascript
|
|
text/plain
|
|
text/xml;
|
|
|
|
error_page 500 502 503 504 /50x.html;
|
|
location = /50x.html {
|
|
root /usr/share/nginx/html;
|
|
}
|
|
}
|
|
"
|
|
echo "$NGINX_CONF" > $CONF_FILE
|
|
|
|
_term() {
|
|
echo "Caught SIGTERM signal!"
|
|
kill -SIGTERM "$nginx_process" 2>/dev/null
|
|
}
|
|
|
|
nginx -g 'daemon off;' &
|
|
nginx_process=$!
|
|
|
|
trap _term SIGTERM
|
|
|
|
wait $nginx_process
|