Skip to content
Snippets Groups Projects
Dockerfile 1 KiB
Newer Older
FROM python:3 AS python_build
kaiyou's avatar
kaiyou committed
COPY requirements-prod.txt /requirements.txt
RUN apt-get update \
 && apt-get install -y --no-install-recommends \
      python3-dev libxmlsec1 libxmlsec1-dev \
      libpq-dev libmariadb-dev \
 && rm -rf /var/cache/apt
RUN pip install -r /requirements.txt
kaiyou's avatar
kaiyou committed

kaiyou's avatar
kaiyou committed
FROM node:buster AS assets_build
COPY package-lock.json package.json webpack.config.js /
RUN npm ci
kaiyou's avatar
kaiyou committed
COPY assets /assets
RUN /node_modules/.bin/webpack-cli

FROM python:3-slim
RUN apt-get update \
 && apt-get install -y --no-install-recommends \
      zlib1g libfreetype6 libjpeg62-turbo libopenjp2-7 libtiff5 liblcms2-2 \
      libpq5 libmariadb3 libxmlsec1 xmlsec1 \
 && rm -rf /var/cache/apt \
kaiyou's avatar
kaiyou committed
 && mkdir /app
WORKDIR /app
kaiyou's avatar
kaiyou committed
COPY --from=python_build /usr/local/ /usr/local/
kaiyou's avatar
kaiyou committed
COPY --from=assets_build /hiboo/static /app/hiboo/static
COPY hiboo /app/hiboo
COPY migrations /app/migrations
kaiyou's avatar
kaiyou committed
RUN pybabel compile -d hiboo/translations

ENV FLASK_APP hiboo
kaiyou's avatar
kaiyou committed
CMD gunicorn -w 4 -b :80 --access-logfile - --error-logfile - --preload 'hiboo:create_app()'