You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

59 lines
1.1 KiB

# pull official base image
FROM python:3.9-alpine
# set work directory
WORKDIR /usr/src/app
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# install psycopg2 dependencies and ffmpeg
RUN apk update && apk add --no-cache \
git \
wget \
unzip \
curl \
postgresql-dev \
gcc \
python3-dev \
musl-dev \
jpeg-dev \
zlib-dev \
freetype-dev \
gnupg \
chromium \
chromium-chromedriver \
harfbuzz \
nss \
freetype \
ttf-freefont \
mesa-gl \
alsa-lib \
ffmpeg
# Set environment variables for Chrome
ENV CHROME_BIN=/usr/bin/chromium-browser
ENV CHROME_DRIVER=/usr/bin/chromedriver
# install dependencies
RUN pip install --upgrade pip
#RUN python -m pip install Pillow
COPY ./requirements.txt .
COPY .env.prod .env
RUN --mount=type=cache,target=/root/.cache pip install -r requirements.txt
# copy entrypoint.sh
COPY ./entrypoint.sh .
RUN sed -i 's/\r$//g' /usr/src/app/entrypoint.sh
RUN chmod +x /usr/src/app/entrypoint.sh
# copy project
COPY . .
# Set display port to avoid crash
ENV DISPLAY=:99
# run entrypoint.sh
ENTRYPOINT ["/usr/src/app/entrypoint.sh"]