run 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/usr/bin/with-contenv bash
  2. # Create required folders
  3. mkdir -p /tmp/nginx/body \
  4. /run/nginx \
  5. /var/log/nginx \
  6. /data/nginx \
  7. /data/custom_ssl \
  8. /data/logs \
  9. /data/access \
  10. /data/nginx/default_host \
  11. /data/nginx/default_www \
  12. /data/nginx/proxy_host \
  13. /data/nginx/redirection_host \
  14. /data/nginx/stream \
  15. /data/nginx/dead_host \
  16. /data/nginx/temp \
  17. /var/lib/nginx/cache/public \
  18. /var/lib/nginx/cache/private \
  19. /var/cache/nginx/proxy_temp
  20. touch /var/log/nginx/error.log && chmod 777 /var/log/nginx/error.log && chmod -R 777 /var/cache/nginx
  21. chown root /tmp/nginx
  22. # Dynamically generate resolvers file, if resolver is IPv6, enclose in `[]`
  23. # thanks @tfmm
  24. if [ "$DISABLE_IPV6" == "true" ] || [ "$DISABLE_IPV6" == "on" ] || [ "$DISABLE_IPV6" == "1" ] || [ "$DISABLE_IPV6" == "yes" ];
  25. then
  26. echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" { sub(/%.*$/,"",$2); print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf) ipv6=off valid=10s;" > /etc/nginx/conf.d/include/resolvers.conf
  27. else
  28. echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" { sub(/%.*$/,"",$2); print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf) valid=10s;" > /etc/nginx/conf.d/include/resolvers.conf
  29. fi
  30. # Generate dummy self-signed certificate.
  31. if [ ! -f /data/nginx/dummycert.pem ] || [ ! -f /data/nginx/dummykey.pem ]
  32. then
  33. echo "Generating dummy SSL certificate..."
  34. openssl req \
  35. -new \
  36. -newkey rsa:2048 \
  37. -days 3650 \
  38. -nodes \
  39. -x509 \
  40. -subj '/O=localhost/OU=localhost/CN=localhost' \
  41. -keyout /data/nginx/dummykey.pem \
  42. -out /data/nginx/dummycert.pem
  43. echo "Complete"
  44. fi
  45. # Handle IPV6 settings
  46. /bin/handle-ipv6-setting /etc/nginx/conf.d
  47. /bin/handle-ipv6-setting /data/nginx
  48. exec nginx