JiMeng / Dockerfile
github-actions[bot]
Deploy from GitHub Actions
96305ae
FROM node:lts AS BUILD_IMAGE
WORKDIR /app
# 从 GitHub 拉取最新源码
RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/*
ARG GITHUB_REPO=Viciy2023/jimeng-free-api-all
ARG GITHUB_BRANCH=main
RUN git clone --depth 1 --branch ${GITHUB_BRANCH} https://github.com/${GITHUB_REPO}.git /tmp/src \
&& cp -r /tmp/src/. /app/ \
&& rm -rf /tmp/src
RUN yarn install --registry https://registry.npmmirror.com/ --ignore-engines && yarn run build
FROM node:lts
# 安装 Chromium 依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
libnss3 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libcups2 \
libdrm2 \
libxkbcommon0 \
libxcomposite1 \
libxdamage1 \
libxfixes3 \
libxrandr2 \
libgbm1 \
libpango-1.0-0 \
libcairo2 \
libasound2 \
libatspi2.0-0 \
libwayland-client0 \
&& rm -rf /var/lib/apt/lists/*
COPY --from=BUILD_IMAGE /app/configs /app/configs
COPY --from=BUILD_IMAGE /app/package.json /app/package.json
COPY --from=BUILD_IMAGE /app/dist /app/dist
COPY --from=BUILD_IMAGE /app/public /app/public
COPY --from=BUILD_IMAGE /app/node_modules /app/node_modules
WORKDIR /app
# 安装 Playwright Chromium 浏览器
RUN npx playwright-core install chromium
EXPOSE 7860
ENV SERVER_HOST=0.0.0.0
CMD ["sh", "-c", "export SERVER_PORT=${PORT:-7860} && npm start"]