diff --git a/Dockerfile b/Dockerfile index 5e7d900..fa42653 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM alpine:latest RUN apk add --no-cache python3 py3-pip py3-wheel git py3-lxml py3-gevent py3-zope-interface py3-zope-event ADD . /app -RUN pip3 install --no-cache-dir /app[full] gunicorn +RUN pip3 install --no-cache-dir /app[full] USER 1000:1000 diff --git a/README.md b/README.md index f1103dc..8a745ab 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,8 @@ pip install git+https://git.pictuga.com/pictuga/morss.git#egg=morss[full] ``` The full install includes mysql, redis and diskcache (possible cache backends). -Otherwise, only in-memory and sqlite3 caches are available. +Otherwise, only in-memory and sqlite3 caches are available. The full install +also includes gunicorn and gevent (for more efficient HTTP handling). The dependency `lxml` is fairly long to install (especially on Raspberry Pi, as C code needs to be compiled). If possible on your distribution, try installing @@ -123,7 +124,7 @@ write_files: runcmd: - update-ca-certificates - - pip install git+https://git.pictuga.com/pictuga/morss.git#egg=morss[full] gunicorn gevent + - pip install git+https://git.pictuga.com/pictuga/morss.git#egg=morss[full] - gunicorn --bind 0.0.0.0:${PORT:-8000} --workers 4 --worker-class=gevent --preload --access-logfile - morss ``` diff --git a/setup.py b/setup.py index 404955e..9ef5cf2 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ setup( license = 'AGPL v3', packages = [package_name], install_requires = ['lxml', 'bs4', 'python-dateutil', 'chardet'], - extras_require = {'full': ['pymysql', 'redis', 'diskcache']}, + extras_require = {'full': ['pymysql', 'redis', 'diskcache', 'gunicorn', 'gevent']}, package_data = {package_name: ['feedify.ini']}, data_files = [ ('share/' + package_name, ['README.md', 'LICENSE']),