| |
| 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 |
|
|
| ENTRYPOINT ["python3", "main.py"] |
| CMD ["--host", "0.0.0.0", "--port", "7860","--debug"] |
|
|