run 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" {print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf);" > /etc/nginx/conf.d/include/resolvers.conf
  25. # Generate dummy self-signed certificate.
  26. if [ ! -f /data/nginx/dummycert.pem ] || [ ! -f /data/nginx/dummykey.pem ]
  27. then
  28. echo "Generating dummy SSL certificate..."
  29. openssl req \
  30. -new \
  31. -newkey rsa:2048 \
  32. -days 3650 \
  33. -nodes \
  34. -x509 \
  35. -subj '/O=Nginx Proxy Manager/OU=Dummy Certificate/CN=localhost' \
  36. -keyout /data/nginx/dummykey.pem \
  37. -out /data/nginx/dummycert.pem
  38. echo "Complete"
  39. fi
  40. # Handle IPV6 settings
  41. /bin/handle-ipv6-setting /etc/nginx/conf.d
  42. /bin/handle-ipv6-setting /data/nginx
  43. exec nginx