|
|
|
FROM alpine:3.18 AS base |
|
ENV TZ=Asia/Shanghai |
|
|
|
|
|
RUN apk add --no-cache git tzdata \ |
|
&& ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \ |
|
&& echo $TZ > /etc/timezone |
|
|
|
WORKDIR /zmal |
|
RUN git clone --recursive https://github.com/kmizmal/blivechat.git |
|
|
|
|
|
FROM node:18.17.0-bullseye AS builder |
|
WORKDIR /zmal/blivechat/frontend |
|
|
|
|
|
COPY --from=base /zmal/blivechat/frontend/package.json package.json |
|
RUN npm install |
|
|
|
COPY --from=base /zmal/blivechat/frontend ./ |
|
RUN npm run build |
|
|
|
|
|
FROM python:3.12.7-bookworm |
|
ENV TZ=Asia/Shanghai |
|
WORKDIR /zmal/blivechat |
|
|
|
|
|
COPY --from=base /zmal/blivechat ./ |
|
COPY --from=builder /zmal/blivechat/frontend/dist frontend/dist/ |
|
|
|
|
|
RUN pip3 install --no-cache-dir -r requirements.txt |
|
|
|
|
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \ |
|
&& echo $TZ > /etc/timezone \ |
|
&& chmod -R 777 /zmal |
|
COPY config.ini /zmal/blivechat/data/config.ini |
|
|
|
RUN --mount=type=secret,id=ID,mode=0444,required=true \ |
|
sed -i "s|^open_live_access_key_id *=.*|open_live_access_key_id = $(cat /run/secrets/ID)|" /zmal/blivechat/data/config.ini |
|
|
|
|
|
|
|
EXPOSE 12450 |
|
|
|
RUN chmod -R 777 /zmal |
|
RUN cat /zmal/blivechat/data/config.ini |
|
ENTRYPOINT ["python3", "main.py"] |
|
CMD ["--host", "0.0.0.0", "--port", "12450","--debug"] |
|
|