Skip to content

Commit

Permalink
Minify docker image size
Browse files Browse the repository at this point in the history
  • Loading branch information
raidensakura committed Jun 8, 2023
1 parent beaa661 commit d6ec5b0
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 36 deletions.
30 changes: 15 additions & 15 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
FROM python:3.10-alpine as base
FROM python:3.11-alpine as base

RUN apk update && apk add git cairo-dev cairo cairo-tools \
RUN apk update && apk add git \
# cairosvg dependencies
cairo-dev cairo cairo-tools \
# pillow dependencies
jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev
jpeg-dev zlib-dev

FROM base AS python-deps
FROM base as python-deps

RUN apk add --virtual build-dependencies build-base gcc libffi-dev
RUN apk add --virtual build-deps build-base gcc libffi-dev
COPY requirements.txt /
RUN pip install --prefix=/inst -U -r /requirements.txt

COPY Pipfile Pipfile.lock /
RUN pip install pipenv && PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy

FROM base AS runtime

COPY --from=python-deps /.venv /.venv
ENV PATH="/.venv/bin:$PATH"
FROM base as runtime

ENV USING_DOCKER yes
COPY --from=python-deps /inst /usr/local

COPY . /modmail
WORKDIR /modmail

CMD ["python", "-m", "bot"]
CMD ["python", "bot.py"]

RUN adduser --disabled-password --gecos '' app && \
chown -R app /modmail && chown -R app /.venv
USER app
chown -R app /modmail
USER app
4 changes: 2 additions & 2 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ parsedatetime = "~=2.6"
pymongo = {extras = ["srv"], version = "*"} # Required by motor
python-dateutil = "~=2.8.1"
python-dotenv = "~=1.0.0"
uvloop = {version = "~=0.15.2", markers = "sys_platform != 'win32'"}
uvloop = {version = "~=0.17.0", markers = "sys_platform != 'win32'"}
lottie = {version = "~=0.6.11", extras = ["pdf"]}
requests = "~=2.28.1"
requests = "~=2.31.0"
attrs = "~=23.1.0"
cairocffi = "~=1.3.0"
cairosvg = "~=2.7.0"
Expand Down
58 changes: 39 additions & 19 deletions Pipfile.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file modified requirements.txt
Binary file not shown.

0 comments on commit d6ec5b0

Please sign in to comment.