Use curl-based healthcheck w/ new non-auth route

The wget method seemed to have a possible issue with creating endless
index.html copies (despite being specified to output to console only),
so this has been updated to use curl instead.

Also uses new non-authenticated "healthz" route to perform the
healthcheck.

Fix #316

Fix #313
main
Ben Busby 2021-05-18 11:48:15 -04:00
parent 27b6d05b6a
commit 1fdf226802
No known key found for this signature in database
GPG Key ID: 3B08611DF6E62ED2
2 changed files with 7 additions and 2 deletions

View File

@ -16,7 +16,7 @@ FROM python:3.8-slim
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
tor \ tor \
wget \ curl \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
ARG config_dir=/config ARG config_dir=/config
@ -68,6 +68,6 @@ COPY whoogle.env .
EXPOSE $EXPOSE_PORT EXPOSE $EXPOSE_PORT
HEALTHCHECK --interval=30s --timeout=5s \ HEALTHCHECK --interval=30s --timeout=5s \
CMD wget -qO- --no-verbose --tries=1 http://localhost:${EXPOSE_PORT}/ || exit 1 CMD curl -f http://localhost:${EXPOSE_PORT}/healthz || exit 1
CMD misc/tor/start-tor.sh & ./run CMD misc/tor/start-tor.sh & ./run

View File

@ -110,6 +110,11 @@ def unknown_page(e):
return redirect(g.app_location) return redirect(g.app_location)
@app.route('/healthz', methods=['GET'])
def healthz():
return ''
@app.route('/', methods=['GET']) @app.route('/', methods=['GET'])
@auth_required @auth_required
def index(): def index():