Permit the healthcheck to work if a BASE_PATH is set

You can set the environment variable BASE_PATH=statping so that https://yoursite.domain:1234/statping/ is how the app is accessed.  Note that a forward-slash is not used (which would otherwise allow just the variable to be dropped in). In order to do that, the healthcheck, which does not obey BASE_PATH, must be disabled. This should make it continue to work.
pull/1081/head
Michael Krieger 2021-12-16 15:52:30 -05:00 committed by GitHub
parent 136f21dad2
commit 461a0eeea3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 1 deletions

View File

@ -60,9 +60,10 @@ ENV IS_DOCKER=true
ENV SASS=/usr/local/bin/sassc
ENV STATPING_DIR=/app
ENV PORT=8080
ENV BASE_PATH=""
EXPOSE $PORT
HEALTHCHECK --interval=60s --timeout=10s --retries=3 CMD curl -s "http://localhost:$PORT/health" | jq -r -e ".online==true"
HEALTHCHECK --interval=60s --timeout=10s --retries=3 CMD if [ -z "$BASE_PATH" ]; then HEALTHPATH="/health"; else HEALTHPATH="/$BASE_PATH/health" ; fi && curl -s "http://localhost:80$HEALTHPATH" | jq -r -e ".online==true"
CMD statping --port $PORT