summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Dockerfile4
-rw-r--r--README.md14
-rw-r--r--app.py4
3 files changed, 21 insertions, 1 deletions
diff --git a/Dockerfile b/Dockerfile
index 2735402..12d7721 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND=noninteractive
# hadolint ignore=DL3008,DL3028,DL4006
RUN apt-get update && \
apt-get -y --no-install-recommends install \
- python3-pip && \
+ python3-pip curl && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/*
@@ -20,6 +20,8 @@ RUN pip install --no-cache-dir -r requirements.txt
EXPOSE 5000
+HEALTHCHECK --interval=5s --timeout=3s \
+ CMD curl -f http://localhost:5000/health || exit 1
#CMD [ "python3", "-m" , "flask", "run", "--port", "5000", "--host", "0.0.0.0"]
CMD [ "python3", "-m" , "gunicorn", "app:app", "-c", "gunicorn_config.py"]
diff --git a/README.md b/README.md
index 55d4edf..ec6fac3 100644
--- a/README.md
+++ b/README.md
@@ -88,3 +88,17 @@ curl -X DELETE -H "token: myuploadtoken" http://docker10.host.lan:5040/delete/fi
"success": "File 'file' successfully deleted"
}
```
+
+### /health
+
+#### input
+
+```bash
+curl -H "token: myuploadtoken" http://docker10.host.lan:5040/health
+```
+
+#### output
+
+```bash
+OK
+```
diff --git a/app.py b/app.py
index e8e7c6c..cb1cf9d 100644
--- a/app.py
+++ b/app.py
@@ -15,6 +15,10 @@ AUTH_TOKEN = os.environ.get('AUTH_TOKEN', 'myuploadtoken')
def is_valid_filename(filename):
return bool(re.match(VALID_FILENAME_REGEX, filename))
+@app.route('/health', methods=['GET'])
+def health_check():
+ return 'OK'
+
@app.route('/upload', methods=['POST'])
def upload_file():
if 'file' not in request.files: