|
|
FROM node:lts-alpine |
|
|
|
|
|
LABEL maintainer="LibreTV Team" |
|
|
LABEL description="LibreTV - 免费在线视频搜索与观看平台" |
|
|
|
|
|
|
|
|
ENV PORT=7860 |
|
|
ENV CORS_ORIGIN=* |
|
|
ENV DEBUG=false |
|
|
ENV REQUEST_TIMEOUT=5000 |
|
|
ENV MAX_RETRIES=2 |
|
|
ENV CACHE_MAX_AGE=1d |
|
|
|
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
|
COPY package*.json ./ |
|
|
|
|
|
|
|
|
RUN npm ci --only=production && npm cache clean --force |
|
|
|
|
|
|
|
|
COPY . . |
|
|
|
|
|
|
|
|
EXPOSE 7860 |
|
|
|
|
|
|
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ |
|
|
CMD node -e "require('http').get('http://localhost:8080', (res) => { process.exit(res.statusCode === 200 ? 0 : 1) }).on('error', () => process.exit(1))" |
|
|
|
|
|
|
|
|
CMD ["npm", "start"] |