aboutsummaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
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"]