generate lightweight image

This commit is contained in:
Jesús 2021-08-11 11:35:18 -05:00
parent 3b7e6caa66
commit 3321c3c185
No known key found for this signature in database
GPG Key ID: F6EE7BC59A315766
2 changed files with 20 additions and 5 deletions

View File

@ -1,10 +1,13 @@
FROM alpine:3.14.0 FROM python:3-alpine AS base
LABEL MAINTAINER="heckyel@riseup.net" LABEL MAINTAINER="heckyel@riseup.net"
# Image to Build Dependencies
FROM base AS builder
ENV LANG C.UTF-8 ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8 ENV LC_ALL C.UTF-8
RUN apk add --no-cache musl-dev build-base gcc libffi-dev python3-dev patch git py3-pip tor curl RUN apk add --no-cache musl-dev build-base make gcc g++ libffi-dev git patch
ARG APP_DIR="/srv/app" ARG APP_DIR="/srv/app"
ARG YT_REPO="https://git.sr.ht/~heckyel/yt-local" ARG YT_REPO="https://git.sr.ht/~heckyel/yt-local"
@ -16,14 +19,24 @@ WORKDIR "$APP_DIR"
RUN git clone --depth=1 "$YT_REPO" --branch "$YT_BRANCH" "$APP_DIR" RUN git clone --depth=1 "$YT_REPO" --branch "$YT_BRANCH" "$APP_DIR"
RUN git show --oneline --no-patch RUN git show --oneline --no-patch
RUN pip3 install -r requirements.txt RUN pip install --no-cache-dir --prefix=/install wheel gunicorn
RUN pip install --no-cache-dir --prefix=/install -r requirements.txt
COPY 0001.patch "$APP_DIR/0001.patch" COPY 0001.patch "$APP_DIR/0001.patch"
RUN patch -Np1 -i "$APP_DIR/0001.patch" RUN patch -Np1 -i "$APP_DIR/0001.patch"
# clean # clean
RUN rm -f "$APP_DIR/0001.patch" RUN rm -f "$APP_DIR/0001.patch"
RUN apk del build-base patch python3-dev
# Runtime Environment Image
FROM base
WORKDIR /srv/app
# Runtime Dependencies
RUN apk --no-cache add tor curl
COPY --from=builder /install /usr/local
COPY --from=builder /srv/app /srv/app
EXPOSE 8080 EXPOSE 8080

View File

@ -79,4 +79,6 @@ fi
/entrypoint-tor.sh "$@" & /entrypoint-tor.sh "$@" &
exec /usr/bin/python3 /srv/app/server.py cd /srv/app || exit
exec gunicorn -b 0.0.0.0:8080 -w 4 server:site_dispatch