
The LISTEN_PORT_HTTP and LISTEN_PORT_HTTPS env variables can now be specified on web-service containers in order to cause the proxy to listen on the specified ports. If you only want to allow listening on a port with SSL, these variables can be set to the value "None" which causes them to not be used. So, for example, you could set LISTEN_PORT_HTTP=None in order to only proxy traffic over a secure link. If one or both of these env vars are omitted, the default values of 80 and 443 will be used where omitted. NOTE: these ports are internal ports on the container. If you set LISTEN_PORT_HTTPS=1234, and want to make this accessible on the WAN at port 5555, then you will do something like docker run -p 5555:1234 ... Additionally, on the proxy container, a CUSTOM_TEMPLATE env variable can be specified, which will instruct docker-gen to use the specified template instead of the default template. For example, if CUSTOM_TEMPLATE=/app/mytemplate, then you will want to either copy your template to the container with 'docker cp', or mount it from the host filesystem with something like docker run -v /host/path:/app/mytemplate ...
37 lines
1.1 KiB
Bash
Executable file
37 lines
1.1 KiB
Bash
Executable file
#!/bin/bash
|
|
set -e
|
|
|
|
# Warn if the DOCKER_HOST socket does not exist
|
|
if [[ $DOCKER_HOST == unix://* ]]; then
|
|
socket_file=${DOCKER_HOST#unix://}
|
|
if ! [ -S $socket_file ]; then
|
|
cat >&2 <<-EOT
|
|
ERROR: you need to share your Docker host socket with a volume at $socket_file
|
|
Typically you should run your jwilder/nginx-proxy with: \`-v /var/run/docker.sock:$socket_file:ro\`
|
|
See the documentation at http://git.io/vZaGJ
|
|
EOT
|
|
socketMissing=1
|
|
fi
|
|
fi
|
|
|
|
# If the user has run the default command and the socket doesn't exist, fail
|
|
if [ "$socketMissing" = 1 -a "$1" = forego -a "$2" = start -a "$3" = '-r' ]; then
|
|
exit 1
|
|
fi
|
|
|
|
# if a custom template has not been specified
|
|
if [ -z "$CUSTOM_TEMPLATE" ]; then
|
|
# try to copy default config to another file if the other file doesn't yet exist
|
|
cp -n nginx.tmpl nginx_default.tmpl
|
|
|
|
# create symlink to default config file
|
|
ln -sf nginx_default.tmpl nginx.tmpl
|
|
else
|
|
# try to copy default config to another file if the other file doesn't yet exist
|
|
cp -n nginx.tmpl nginx_default.tmpl
|
|
|
|
# create symlink to custom config file
|
|
ln -sf $CUSTOM_TEMPLATE nginx.tmpl
|
|
fi
|
|
|
|
exec "$@"
|