| FROM ghcr.io/senshinya/moontv:latest | |
| # 切换到 root 用户以进行权限调整 | |
| USER root | |
| # 安装 curl 用于下载文件(如果基础镜像没有) | |
| RUN apk add --no-cache curl | |
| ARG CONFIG_URL | |
| # 创建public目录并设置权限 | |
| RUN mkdir -p /app/public && chmod -R 777 /app/public | |
| # 备份或删除原配置文件 | |
| RUN if [ -f /app/config.json ]; then mv /app/config.json /app/config.json.bak; fi | |
| # 下载并替换配置文件,使用 CONFIG_URL 变量 | |
| RUN if [ -n "$CONFIG_URL" ]; then \ | |
| curl -Lo /app/config.json "$CONFIG_URL"; \ | |
| else \ | |
| echo "CONFIG_URL is not set. Skipping configuration file download."; \ | |
| fi | |
| # 确保文件权限正确 | |
| #RUN chown nextjs:nodejs /app/config.json | |
| RUN ls -l /app | |
| # 7. 保持工作目录正确(与原镜像一致) | |
| WORKDIR /app | |
| ENV NODE_ENV=production | |
| ENV PORT=3000 | |
| ENV DOCKER_ENV=true | |
| # 切换回非特权用户 | |
| USER nextjs | |