54 lines
1.6 KiB
Docker
54 lines
1.6 KiB
Docker
FROM debian:bullseye-slim
|
|
LABEL maintainer="k@ndk.name"
|
|
|
|
ENV LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8
|
|
|
|
RUN apt-get update -y \
|
|
&& apt-get install -y --no-install-recommends \
|
|
apt-transport-https \
|
|
curl \
|
|
build-essential \
|
|
libffi-dev \
|
|
libldap2-dev \
|
|
libmariadb-dev-compat \
|
|
libpq-dev \
|
|
libsasl2-dev \
|
|
libssl-dev \
|
|
libxml2-dev \
|
|
libxmlsec1-dev \
|
|
libxmlsec1-openssl \
|
|
libxslt1-dev \
|
|
locales \
|
|
locales-all \
|
|
pkg-config \
|
|
python3-dev \
|
|
python3-pip \
|
|
python3-setuptools \
|
|
&& curl -sL https://deb.nodesource.com/setup_lts.x | bash - \
|
|
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
|
|
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
|
&& apt-get update -y \
|
|
&& apt-get install -y --no-install-recommends \
|
|
nodejs \
|
|
yarn \
|
|
&& apt-get clean -y \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# We copy just the requirements.txt first to leverage Docker cache
|
|
COPY ./requirements.txt /app/requirements.txt
|
|
|
|
WORKDIR /app
|
|
RUN pip3 install --upgrade pip
|
|
RUN pip3 install -r requirements.txt
|
|
|
|
COPY . /app
|
|
|
|
ENV FLASK_APP=powerdnsadmin/__init__.py
|
|
RUN yarn install --pure-lockfile --production \
|
|
&& yarn cache clean \
|
|
&& flask assets build
|
|
|
|
COPY ./docker-test/wait-for-pdns.sh /opt
|
|
RUN chmod u+x /opt/wait-for-pdns.sh
|
|
CMD ["/opt/wait-for-pdns.sh", "/usr/local/bin/pytest", "-W", "ignore::DeprecationWarning", "--capture=no", "-vv"]
|