ocngx / Dockerfile
tanbushi's picture
迁移到 Linux 系统 cron,提升可靠性和性能
5144611
FROM openresty/openresty:latest
# 安装 Node.js (用于 OpenCode)
RUN apt-get update && apt-get install -y curl cron && \
curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \
apt-get install -y nodejs && \
npm install -g opencode-ai
# 复制自定义配置文件
COPY nginx/nginx.conf /usr/local/openresty/nginx/conf/nginx.conf
COPY nginx/conf.d/default.conf /usr/local/openresty/nginx/conf/conf.d/default.conf
# 不再复制静态 .htpasswd 文件,将在启动时动态生成
# 复制静态文件
COPY nginx/html/ /usr/local/openresty/nginx/html/
# 复制 OpenCode 配置文件
COPY opencode.json /app/opencode.json
COPY AGENT.md /etc/AGENT.md
# 复制 Cron 配置文件和脚本
COPY crontab /etc/cron.d/ocngx-cron
COPY cron-jobs/ /etc/cron-jobs/
# 设置 Cron 配置权限
RUN chmod 0644 /etc/cron.d/ocngx-cron && \
crontab /etc/cron.d/ocngx-cron && \
chmod +x /etc/cron-jobs/*.sh
# 创建 OpenCode 启动脚本
COPY docker-start.sh /docker-start.sh
RUN chmod +x /docker-start.sh
# 暴露端口(Hugging Face Spaces 通常使用 7860)
EXPOSE 7860
# 启动脚本(同时启动 OpenResty 和 OpenCode)
CMD ["/docker-start.sh"]