File size: 1,568 Bytes
69b897d c090f90 69b897d c27fff8 69b897d c090f90 69b897d c27fff8 5737236 c27fff8 69b897d c27fff8 69b897d c090f90 69b897d 5737236 c090f90 5737236 69b897d 5737236 69b897d 5737236 69b897d c090f90 5737236 69b897d 5737236 69b897d 5737236 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
FROM node:18-alpine AS frontend-builder
WORKDIR /app/web/admin-spa
COPY web/admin-spa/package*.json ./
RUN npm ci
COPY web/admin-spa/ ./
RUN npm run build
FROM node:18-alpine
LABEL org.opencontainers.image.title="123"
LABEL org.opencontainers.image.description="1234"
LABEL org.opencontainers.image.version="1.0.0"
LABEL maintainer="123@example.com"
WORKDIR /app
RUN apk add --no-cache redis curl dumb-init python3 py3-pip
RUN python3 -m venv /opt/venv && \
. /opt/venv/bin/activate && \
pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir huggingface_hub
ENV PATH="/opt/venv/bin:${PATH}"
COPY package*.json ./
RUN npm ci --omit=dev && npm cache clean --force
COPY . .
COPY --from=frontend-builder /app/web/admin-spa/dist /app/web/admin-spa/dist
# COPY tools/hf_backup.py /app/tools/hf_backup.py
# COPY tools/hf-backup.sh /app/tools/hf-backup.sh
RUN chmod +x /app/tools/hf-backup.sh || true
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
RUN mkdir -p /app/logs /app/data /app/temp
RUN if [ ! -f "/app/config/config.js" ] && [ -f "/app/config/config.example.js" ]; then \
cp /app/config/config.example.js /app/config/config.js; \
fi
ENV NODE_ENV=production
ENV HOST=0.0.0.0
ENV PORT=7860
EXPOSE 7860
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD sh -c 'curl -fsS "http://127.0.0.1:${PORT:-7860}/health" || exit 1'
ENTRYPOINT ["dumb-init", "--", "/usr/local/bin/docker-entrypoint.sh"]
CMD ["node", "src/app.js"]
|