Allow Docker image to generate servers.json from environment

In the Docker image, generate the servers.json with a single server
by reading environment variables.
This commit is contained in:
Matias Garcia Isaia 2021-05-28 22:01:39 -03:00
parent d5530b4614
commit ccffa0fe12
No known key found for this signature in database
GPG key ID: A1F906A82E6A780B
2 changed files with 17 additions and 0 deletions

View file

@ -9,4 +9,5 @@ FROM nginx:1.19.6-alpine
LABEL maintainer="Alejandro Celaya <alejandro@alejandrocelaya.com>" LABEL maintainer="Alejandro Celaya <alejandro@alejandrocelaya.com>"
RUN rm -r /usr/share/nginx/html && rm /etc/nginx/conf.d/default.conf RUN rm -r /usr/share/nginx/html && rm /etc/nginx/conf.d/default.conf
COPY config/docker/nginx.conf /etc/nginx/conf.d/default.conf COPY config/docker/nginx.conf /etc/nginx/conf.d/default.conf
COPY config/docker/servers.json_from_env.sh /docker-entrypoint.d/30-shlink-servers-json.sh
COPY --from=node /shlink-web-client/build /usr/share/nginx/html COPY --from=node /shlink-web-client/build /usr/share/nginx/html

View file

@ -0,0 +1,16 @@
#!/bin/sh
set -e
ME=$(basename $0)
setup_single_shlink_server() {
[ -n "$SHLINK_CLIENT_SERVER_URL" ] || return 0
[ -n "$SHLINK_CLIENT_API_KEY" ] || return 0
local name="${SHLINK_CLIENT_SERVER_NAME:-Shlink}"
echo "[{\"name\":\"${name}\",\"url\":\"${SHLINK_CLIENT_SERVER_URL}\",\"apiKey\":\"${SHLINK_CLIENT_API_KEY}\"}]" > /usr/share/nginx/html/servers.json
}
setup_single_shlink_server
exit 0