generate lightweight image
This commit is contained in:
parent
3b7e6caa66
commit
3321c3c185
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user