Skip to content

Instantly share code, notes, and snippets.

@kesnel
Created November 7, 2021 16:04
Show Gist options
  • Save kesnel/75bd9a59b088631595a11f2594d7ca4d to your computer and use it in GitHub Desktop.
Save kesnel/75bd9a59b088631595a11f2594d7ca4d to your computer and use it in GitHub Desktop.
FROM python:3.10-alpine
LABEL maintainer="kesnel.co"
ENV PYTHONUNBUFFERED 1
COPY ./requirements.txt /requirements.txt
COPY ./app /app
COPY ./scripts /scripts
COPY ./nginx /nginx
WORKDIR /app
EXPOSE 8000
RUN apk --no-cache add \
build-base \
python3 \
python3-dev \
# wget dependency
openssl \
# dev dependencies
bash \
git \
py3-pip \
sudo \
# Pillow dependencies
freetype-dev \
fribidi-dev \
harfbuzz-dev \
jpeg-dev \
lcms2-dev \
openjpeg-dev \
tcl-dev \
tiff-dev \
tk-dev \
zlib-dev
RUN python -m venv /py && \
/py/bin/pip install --upgrade pip setuptools Pillow && \
# Database
apk add postgresql-client && \
apk add --virtual .tmp-deps \
postgresql-dev musl-dev linux-headers && \
# Requirements
/py/bin/pip install -r /requirements.txt && \
apk del .tmp-deps && \
# Add user
adduser --disabled-password --no-create-home app && \
# Staticfiles
mkdir -p /vol/web/cdn/static/ && \
mkdir -p /vol/web/cdn/media/ && \
###
chown -R app:app /vol && \
chmod -R 755 /vol && \
chmod -R +x /scripts
ENV PATH="/scripts:/py/bin:$PATH"
USER app
CMD ["run.sh"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment