run 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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/ssl_passthrough_host \
  15. /data/nginx/stream \
  16. /data/nginx/dead_host \
  17. /data/nginx/temp \
  18. /var/lib/nginx/cache/public \
  19. /var/lib/nginx/cache/private \
  20. /var/cache/nginx/proxy_temp
  21. touch /var/log/nginx/error.log && chmod 777 /var/log/nginx/error.log && chmod -R 777 /var/cache/nginx
  22. chown root /tmp/nginx
  23. # Dynamically generate resolvers file, if resolver is IPv6, enclose in `[]`
  24. # thanks @tfmm
  25. echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" {print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf);" > /etc/nginx/conf.d/include/resolvers.conf
  26. # Generate dummy self-signed certificate.
  27. if [ ! -f /data/nginx/dummycert.pem ] || [ ! -f /data/nginx/dummykey.pem ]
  28. then
  29. echo "Generating dummy SSL certificate..."
  30. openssl req \
  31. -new \
  32. -newkey rsa:2048 \
  33. -days 3650 \
  34. -nodes \
  35. -x509 \
  36. -subj '/O=localhost/OU=localhost/CN=localhost' \
  37. -keyout /data/nginx/dummykey.pem \
  38. -out /data/nginx/dummycert.pem
  39. echo "Complete"
  40. fi
  41. # Handle IPV6 settings
  42. /bin/handle-ipv6-setting /etc/nginx/conf.d
  43. /bin/handle-ipv6-setting /data/nginx
  44. exec nginx