From 13fcefb4ba8acab0a5a0c8697920451a7f6454db Mon Sep 17 00:00:00 2001 From: pictuga Date: Sun, 21 Nov 2021 21:44:41 +0100 Subject: [PATCH] Heroku one-click deploy Including work around for Heroku's broken interpretation of entrypoint --- Dockerfile | 3 ++- README.md | 4 ++++ app.json | 17 +++++++++++++++++ docker-entry.sh | 6 +++--- 4 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 app.json diff --git a/Dockerfile b/Dockerfile index 6a22947..5c63992 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,4 +7,5 @@ RUN pip3 install --no-cache-dir /app[full] gunicorn USER 1000:1000 -ENTRYPOINT ["/app/docker-entry.sh"] +ENTRYPOINT ["/bin/sh", "/app/docker-entry.sh"] +CMD ["run"] diff --git a/README.md b/README.md index 5ad1035..4b72a00 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,10 @@ Then execute docker-compose build --no-cache --pull ``` +Using Heroku free tier: + +[Deploy to Heroku](https://heroku.com/deploy?template=https://github.com/pictuga/morss) + ## Run morss will auto-detect what "mode" to use. diff --git a/app.json b/app.json new file mode 100644 index 0000000..aa71ce0 --- /dev/null +++ b/app.json @@ -0,0 +1,17 @@ +{ + "stack": "container", + "env": { + "CACHE": { + "value": "diskcache", + "required": false + }, + "CACHE_SIZE": { + "value": "1073741824", + "required": false + }, + "DEBUG": { + "value": "1", + "rquired": false + } + } +} diff --git a/docker-entry.sh b/docker-entry.sh index aa7122a..620ff44 100755 --- a/docker-entry.sh +++ b/docker-entry.sh @@ -1,7 +1,7 @@ #! /bin/sh -if [ ! -z "$1" ]; then - morss $@ +if [ -z "$1" ] || [ "$@" = "run" ]; then + gunicorn --bind 0.0.0.0:${PORT:-8000} -w 4 --preload --access-logfile - morss else - gunicorn --bind 0.0.0.0:8000 -w 4 --preload --access-logfile - morss + morss $@ fi