1- FROM python:3.12-alpine as pybuilder
1+ FROM python:3.12-alpine AS pybuilder
22RUN apk update && apk add --no-cache tzdata ca-certificates alpine-sdk libressl-dev libffi-dev cargo && \
33 apk add tiff-dev jpeg-dev openjpeg-dev zlib-dev freetype-dev lcms2-dev \
44 libwebp-dev tcl-dev tk-dev harfbuzz-dev fribidi-dev libimagequant-dev libxcb-dev libpng-dev
@@ -7,23 +7,14 @@ COPY requirements.txt /requirements.txt
77RUN pip3 install --user -r /requirements.txt && rm /requirements.txt
88
99
10- FROM python:3.12-alpine as runner
10+ FROM python:3.12-alpine AS runner
1111RUN apk update && apk add --no-cache libressl jpeg-dev openjpeg-dev libimagequant-dev tiff-dev freetype-dev libxcb-dev
1212
1313
14- FROM node:20-alpine as nodebuilder
15- WORKDIR /YYeTsBot/YYeTsFE/
16- ENV NODE_OPTIONS=--openssl-legacy-provider
17- ARG env
18- RUN apk add git
19- COPY YYeTsFE/package.json /YYeTsBot/YYeTsFE/
20- COPY YYeTsFE/yarn.lock /YYeTsBot/YYeTsFE/
21- COPY scripts/dev_robots.sh /tmp/
22- RUN yarn --network-timeout 1000000
23- COPY YYeTsFE /YYeTsBot/YYeTsFE/
24- COPY .git /YYeTsBot/.git/
25- RUN if [ "$env" = "dev" ]; then echo "dev build" ; yarn build; sh /tmp/dev_robots.sh; else echo "prod build" ; yarn run release; fi
26-
14+ FROM alpine AS nodebuilder
15+ RUN apk add curl jq
16+ RUN wget $(curl -s https://api.github.com/repos/tgbot-collection/YYeTsFE/releases/latest | jq -r '.assets[] | select(.name == "build.zip") | .browser_download_url' )
17+ RUN unzip build.zip && rm build.zip
2718
2819FROM runner
2920RUN apk add mongodb-tools mysql-client
@@ -32,7 +23,7 @@ COPY . /YYeTsBot
3223COPY --from=pybuilder /root/.local /usr/local
3324COPY --from=pybuilder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
3425COPY --from=pybuilder /usr/share/zoneinfo /usr/share/zoneinfo
35- COPY --from=nodebuilder /YYeTsBot/YYeTsFE/ build /YYeTsBot/yyetsweb/templates/
26+ COPY --from=nodebuilder /build /YYeTsBot/yyetsweb/templates/
3627
3728ENV TZ=Asia/Shanghai
3829WORKDIR /YYeTsBot/yyetsbot
0 commit comments