Browse Source

added dockerfiile and requirements

main
Holger Frey 3 years ago
parent
commit
075204ba60
  1. 43
      Dockerfile
  2. 2
      pyproject.toml
  3. 0
      requirements.txt

43
Dockerfile

@ -0,0 +1,43 @@
FROM ubuntu:latest
# update to the latest packages
ENV DEBIAN_FRONTEND="noninteractive"
RUN apt-get update && apt-get upgrade -y
# add user that will be used to install and run the application
RUN groupadd -g 1000 deploy
RUN useradd -m -u 1000 -g deploy deploy
# install required packages for debugging
# RUN apt-get install -y vim curl lsof
#
# CUSTOM PART IS BELOW HERE
#
# install required packages
RUN apt-get install -y python3 python3-pip
# switch to the created user and install the application
USER deploy
ENV PATH "$PATH:/home/deploy/.local/bin"
COPY . /app
WORKDIR /app
RUN pip install --upgrade pip
RUN pip install gunicorn
RUN pip install wheel
RUN pip install -r requirements.txt
RUN flit install --pth-file
# switch back to root to remove header files
#USER root
#RUN apk del libc-dev libffi-dev openssl-dev python3-dev
# switch to the created user to run the application
#USER deploy
CMD ["gunicorn", "--paster", "/app/production.ini", "-b", "0.0.0.0:8000"]

2
pyproject.toml

@ -29,12 +29,12 @@ requires = [
"pyramid_jinja2 >= 2.7", "pyramid_jinja2 >= 2.7",
"pyramid_mailer >= 0.15.1", "pyramid_mailer >= 0.15.1",
"waitress >= 1.4.3", "waitress >= 1.4.3",
"passlib[argon2] >= 1.7.2",
] ]
requires-python = ">=3.7" requires-python = ">=3.7"
[tool.flit.metadata.requires-extra] [tool.flit.metadata.requires-extra]
test = [ test = [
"passlib[argon2] >= 1.7.2",
"pytest >=4.0.0", "pytest >=4.0.0",
"pytest-cov", "pytest-cov",
"pytest-mock", "pytest-mock",

0
requirements.txt

Loading…
Cancel
Save