From 3fa87ab89f18bbb4e80d7451edd67dfdc0ad647c Mon Sep 17 00:00:00 2001 From: willhaines Date: Fri, 24 Feb 2023 12:34:50 -0700 Subject: [PATCH 1/2] Make compatible with OpenShift --- redirector/Dockerfile | 2 ++ redirector/README.md | 13 ++++++++++++- redirector/default.conf | 4 ++-- redirector/docker-entrypoint.sh | 2 ++ 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/redirector/Dockerfile b/redirector/Dockerfile index 237cdf4..a4ee283 100644 --- a/redirector/Dockerfile +++ b/redirector/Dockerfile @@ -2,6 +2,8 @@ FROM nginx:alpine ENV NGINX_CONF=/etc/nginx/conf.d/default.conf COPY default.conf ${NGINX_CONF} +RUN chgrp 0 ${NGINX_CONF} +RUN chmod g+w ${NGINX_CONF} COPY docker-entrypoint.sh / ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["nginx", "-g", "daemon off;"] diff --git a/redirector/README.md b/redirector/README.md index 5ddb34d..1d5874d 100644 --- a/redirector/README.md +++ b/redirector/README.md @@ -2,11 +2,22 @@ Sends HTTP 301 redirect during any request to this container. Useful for starting domain name changes of web services. -# Use Example +# Use Examples +With defaults: ``` docker run -it --rm \ -p 8080:80 \ -e REDIRECT_FQDN=https://tozny.com \ tozny/redirector ``` + +Listen on alternate port, and serve temporary redirect: +``` +docker run -it --rm \ + -p 8080:8080 \ + -e LISTEN_PORT=8080 \ + -e REDIRECT_CODE=302 \ + -e REDIRECT_FQDN=https://tozny.com \ + tozny/redirector +``` \ No newline at end of file diff --git a/redirector/default.conf b/redirector/default.conf index c5d005e..973094b 100644 --- a/redirector/default.conf +++ b/redirector/default.conf @@ -1,4 +1,4 @@ server { - listen 80; - return 301 REDIRECT_FQDN; + listen LISTEN_PORT; + return REDIRECT_CODE REDIRECT_FQDN; } diff --git a/redirector/docker-entrypoint.sh b/redirector/docker-entrypoint.sh index a92aa2b..1d4965b 100755 --- a/redirector/docker-entrypoint.sh +++ b/redirector/docker-entrypoint.sh @@ -2,5 +2,7 @@ # Uses | as delimeter or else sed fails because FQDN contains /, which interferes with default sed delimeter sed -i "s|REDIRECT_FQDN|$REDIRECT_FQDN|" $NGINX_CONF +sed -i "s|LISTEN_PORT|${LISTEN_PORT:-80}|" $NGINX_CONF +sed -i "s|REDIRECT_CODE|${REDIRECT_CODE:-301}|" $NGINX_CONF exec "$@" From 3f5ad1dac319aa25cd570c4c4d67be6ea2985014 Mon Sep 17 00:00:00 2001 From: Will Haines Date: Fri, 24 Feb 2023 14:38:42 -0700 Subject: [PATCH 2/2] expand group-write permisions --- redirector/Dockerfile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/redirector/Dockerfile b/redirector/Dockerfile index a4ee283..155e271 100644 --- a/redirector/Dockerfile +++ b/redirector/Dockerfile @@ -2,8 +2,12 @@ FROM nginx:alpine ENV NGINX_CONF=/etc/nginx/conf.d/default.conf COPY default.conf ${NGINX_CONF} -RUN chgrp 0 ${NGINX_CONF} -RUN chmod g+w ${NGINX_CONF} + +# Allow _group_ root to edit nginx conf for OpenShift compatibility +# Must be whole directory, because of sed temp files +RUN chgrp -R 0 $(dirname ${NGINX_CONF}) +RUN chmod -R g+w $(dirname ${NGINX_CONF}) + COPY docker-entrypoint.sh / ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["nginx", "-g", "daemon off;"]