add healthcheck
This commit is contained in:
parent
2caf356288
commit
b91cf9fc50
3 changed files with 21 additions and 1 deletions
|
@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||||
# hadolint ignore=DL3008,DL3028,DL4006
|
# hadolint ignore=DL3008,DL3028,DL4006
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get -y --no-install-recommends install \
|
apt-get -y --no-install-recommends install \
|
||||||
python3-pip && \
|
python3-pip curl && \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/*
|
rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/*
|
||||||
|
|
||||||
|
@ -20,6 +20,8 @@ RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
|
||||||
EXPOSE 5000
|
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" , "flask", "run", "--port", "5000", "--host", "0.0.0.0"]
|
||||||
CMD [ "python3", "-m" , "gunicorn", "app:app", "-c", "gunicorn_config.py"]
|
CMD [ "python3", "-m" , "gunicorn", "app:app", "-c", "gunicorn_config.py"]
|
||||||
|
|
14
README.md
14
README.md
|
@ -88,3 +88,17 @@ curl -X DELETE -H "token: myuploadtoken" http://docker10.host.lan:5040/delete/fi
|
||||||
"success": "File 'file' successfully deleted"
|
"success": "File 'file' successfully deleted"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### /health
|
||||||
|
|
||||||
|
#### input
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -H "token: myuploadtoken" http://docker10.host.lan:5040/health
|
||||||
|
```
|
||||||
|
|
||||||
|
#### output
|
||||||
|
|
||||||
|
```bash
|
||||||
|
OK
|
||||||
|
```
|
||||||
|
|
4
app.py
4
app.py
|
@ -15,6 +15,10 @@ AUTH_TOKEN = os.environ.get('AUTH_TOKEN', 'myuploadtoken')
|
||||||
def is_valid_filename(filename):
|
def is_valid_filename(filename):
|
||||||
return bool(re.match(VALID_FILENAME_REGEX, filename))
|
return bool(re.match(VALID_FILENAME_REGEX, filename))
|
||||||
|
|
||||||
|
@app.route('/health', methods=['GET'])
|
||||||
|
def health_check():
|
||||||
|
return 'OK'
|
||||||
|
|
||||||
@app.route('/upload', methods=['POST'])
|
@app.route('/upload', methods=['POST'])
|
||||||
def upload_file():
|
def upload_file():
|
||||||
if 'file' not in request.files:
|
if 'file' not in request.files:
|
||||||
|
|
Reference in a new issue