31 lines
970 B
Bash
31 lines
970 B
Bash
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
DEFAULT_CONF_FILE="etc/nginx/nginx.conf"
|
|
|
|
# check if we have ipv6 available
|
|
if [ -f "/proc/net/if_inet6" ]; then
|
|
# check config file exists
|
|
if [ -f "/$DEFAULT_CONF_FILE" ]; then
|
|
# check write permission
|
|
if touch /$DEFAULT_CONF_FILE 2>/dev/null; then
|
|
# check if the file is already modified, e.g. on a container restart
|
|
if grep -q -s "listen \[::]\:8080;" /$DEFAULT_CONF_FILE; then
|
|
echo '{"level":"INFO","msg":"ipv6 listen already enabled"}'
|
|
else
|
|
# enable ipv6 on nginx.conf listen sockets
|
|
sed -i -E 's|listen 8080;|listen 8080;\n listen [::]:8080;|' /$DEFAULT_CONF_FILE
|
|
fi
|
|
else
|
|
echo '{"level":"INFO","msg":"can not modify /'"${DEFAULT_CONF_FILE}"' (read-only file system?)"}'
|
|
fi
|
|
else
|
|
echo '{"level":"INFO","msg":"/'"${DEFAULT_CONF_FILE}"' is not a file or does not exist"}'
|
|
fi
|
|
else
|
|
echo '{"level":"INFO","msg":"ipv6 not available"}'
|
|
fi
|
|
|
|
exec '/usr/sbin/nginx'
|