aboutsummaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
authorGravatar Leon Sandøy <[email protected]>2020-11-14 23:58:45 +0100
committerGravatar GitHub <[email protected]>2020-11-14 23:58:45 +0100
commit04764a706a80ca40919bb149860a57a868ea6737 (patch)
tree5bf6382b77f371c134f9eb00dbdd31b36f690bc2 /Dockerfile
parentAdd Notion to sponsors (diff)
parentDon't call gunicorn using os.system, patch sys.argv and call the module (diff)
Merge pull request #422 from python-discord/get_rid_of_uwsgi
Get rid of UWSGI, replace with gunicorn
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile32
1 files changed, 32 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 00000000..c01d1a01
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,32 @@
+FROM python:3.9-slim-buster
+
+# Allow service to handle stops gracefully
+STOPSIGNAL SIGQUIT
+
+# Set pip to have cleaner logs and no saved cache
+ENV PIP_NO_CACHE_DIR=false \
+ PIPENV_HIDE_EMOJIS=1 \
+ PIPENV_NOSPIN=1
+
+# Install git
+RUN apt-get -y update \
+ && apt-get install -y \
+ git \
+ && rm -rf /var/lib/apt/lists/*
+
+# Create non-root user.
+RUN useradd --system --shell /bin/false --uid 1500 pysite
+
+# Install pipenv
+RUN pip install -U pipenv
+
+# Copy the project files into working directory
+WORKDIR /app
+COPY . .
+
+# Install project dependencies
+RUN pipenv install --system --deploy
+
+# Run web server through custom manager
+ENTRYPOINT ["python", "manage.py"]
+CMD ["run"]