You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by ab...@apache.org on 2024/03/29 09:44:29 UTC
(incubator-devlake) 06/40: fixing #7100 by adding auto-discovery of interface type (ipv4/ipv6) inside container (#7197)
This is an automated email from the ASF dual-hosted git repository.
abeizn pushed a commit to branch release-v1.0
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
commit 4287750aeecbd1bbcbda3ae446a827480d55a7bc
Author: ivan sumak <iv...@gmail.com>
AuthorDate: Thu Mar 21 15:48:44 2024 +0100
fixing #7100 by adding auto-discovery of interface type (ipv4/ipv6) inside container (#7197)
Co-authored-by: Ivan Ĺ umak <Iv...@infobip.com>
---
config-ui/Dockerfile | 2 +-
config-ui/nginx.conf | 3 +--
config-ui/nginx.sh | 19 ++++++++++++++++++-
3 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/config-ui/Dockerfile b/config-ui/Dockerfile
index 78117ae2d..c094df4fe 100644
--- a/config-ui/Dockerfile
+++ b/config-ui/Dockerfile
@@ -41,7 +41,7 @@ WORKDIR /usr/share/nginx/html
RUN rm -rf ./*
COPY --from=builder /home/node/code/dist/. ./
EXPOSE 4000 4443
-RUN apt update && apt install -y apache2-utils
+RUN apt update && apt install -y apache2-utils iproute2
COPY --from=builder /home/node/code/nginx.sh /usr/bin/nginx.sh
RUN chmod +x /usr/bin/nginx.sh
USER 101
diff --git a/config-ui/nginx.conf b/config-ui/nginx.conf
index 249af4530..6e2b7f84d 100644
--- a/config-ui/nginx.conf
+++ b/config-ui/nginx.conf
@@ -1,6 +1,5 @@
server {
- listen 4000;
- listen [::]:4000;
+${LISTENER}
server_name localhost;
absolute_redirect off;
client_max_body_size 20m;
diff --git a/config-ui/nginx.sh b/config-ui/nginx.sh
index cdb981b57..3e216b451 100755
--- a/config-ui/nginx.sh
+++ b/config-ui/nginx.sh
@@ -17,6 +17,23 @@
#
set -e
+
+
+if (ip -4 addr | grep -q "inet") && ! (ip -6 addr | grep -q "inet6"); then
+ export LISTENER='
+ listen 4000;
+ '
+elif ! (ip -4 addr | grep -q "inet") && (ip -6 addr | grep -q "inet6"); then
+ export LISTENER='
+ listen [::]:4000;
+ '
+else
+ export LISTENER='
+ listen 4000;
+ listen [::]:4000;
+ '
+fi
+
if [ -n "$ADMIN_USER" ] && [ -n "$ADMIN_PASS" ]; then
htpasswd -c -b /etc/nginx/.htpasswd "$ADMIN_USER" "$ADMIN_PASS"
export SERVER_CONF='
@@ -28,7 +45,7 @@ export DNS=$(awk 'BEGIN{ORS=" "} $1=="nameserver" {if ($2 ~ ":") {print "["$2"]"
export DNS_VALID=${DNS_VALID:-300s}
export DEVLAKE_ENDPOINT_PROTO=${DEVLAKE_ENDPOINT_PROTO:-http}
export GRAFANA_ENDPOINT_PROTO=${GRAFANA_ENDPOINT_PROTO:-http}
-envsubst '${DEVLAKE_ENDPOINT} ${DEVLAKE_ENDPOINT_PROTO} ${GRAFANA_ENDPOINT} ${GRAFANA_ENDPOINT_PROTO} ${USE_EXTERNAL_GRAFANA} ${SERVER_CONF} ${DNS} ${DNS_VALID}' \
+envsubst '${LISTENER} ${DEVLAKE_ENDPOINT} ${DEVLAKE_ENDPOINT_PROTO} ${GRAFANA_ENDPOINT} ${GRAFANA_ENDPOINT_PROTO} ${USE_EXTERNAL_GRAFANA} ${SERVER_CONF} ${DNS} ${DNS_VALID}' \
< /etc/nginx/conf.d/default.conf.tpl \
> /etc/nginx/conf.d/default.conf
nginx -g 'daemon off;'