mirror of
https://github.com/pypiserver/pypiserver
synced 2024-11-09 16:45:51 +01:00
8306de15db
Updates the Docker configuration to use the gunicorn server with gevent workers by default. Adds `waitress` to the docker container, so that if no server is specified, we will fall back to that rather than `wsgiref`. Making this happen brought a few other issues to light, which are also addressed here. - Docker log output not immediately being flushed to stdout (#358): resolved by setting the `PYTHONUNBUFFERED` env var to `t` in the docker container - When the WSGIRef server is selected, its access logs are written directly to stderr, rather than going through the logging machinery: resolved by adding a new `WsgiHandler` class and passing in to bottle's `run()` method when running the wsgi server. This required a new `ServerCheck` class to determine whether the wsgi server is selected when the `auto` option is used - When using `gunicorn` along with the watchdog cache, package uplaods were not being picked up by the watcher. Updated the `add_package` and `remove_package` methods on the `CachingFileBackend` to bust the cache
15 lines
304 B
Python
15 lines
304 B
Python
"""Default gunicorn config for the docker environment.
|
|
|
|
To override, mount a new gunicorn config at /data/gunicorn.conf.py in your
|
|
Docker container.
|
|
"""
|
|
|
|
# pylint: disable=invalid-name
|
|
|
|
# Enable to log every request
|
|
# accesslog = "-"
|
|
errorlog = "-"
|
|
preload_app = True
|
|
workers = 1
|
|
worker_class = "gevent"
|