Dockerfile 1.05 KiB
FROM python:3 AS python_build
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
FROM node:alpine AS assets_build
RUN apk add --no-cache python make g++
COPY yarn.lock package.json webpack.config.js /
RUN yarn install --pure-lockfile
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 \
&& rm -rf /var/cache/apt \
&& mkdir /app
WORKDIR /app
COPY --from=python_build /usr/local/ /usr/local/
COPY --from=assets_build /hiboo/static /app/hiboo/static
COPY hiboo /app/hiboo
COPY migrations /app/migrations
RUN pybabel compile -d hiboo/translations
ENV FLASK_APP hiboo
CMD gunicorn -w 4 -b :80 --access-logfile - --error-logfile - --preload 'hiboo:create_app()'