# 使用 Ubuntu 基础镜像以确保更好的兼容性 FROM ubuntu:22.04 # 设置环境变量避免交互式提示 ENV DEBIAN_FRONTEND=noninteractive COPY service/ /.system/service COPY script/ /.system/script # RUN chmod +x /service/*.sh RUN find /.system -type f -name "*.sh" -exec chmod +x {} \; RUN find /.system -type f -name "*.js" -exec chmod +x {} \; # 创建 OpenCode 全局配置目录 COPY .config/ /root/.config COPY .claude/ /root/.claude RUN mkdir -p /.backup # # 将 /root/.config 目录及子目录下所有的 .md 文件权限修改为:644 # RUN find /root/.config -type f -name "*.md" -exec chmod 644 {} \; # # 添加健康检查 # HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ # CMD curl -f http://localhost:7860/global/health || exit 1 # 暴露 Hugging Face Spaces 标准端口 EXPOSE 7860 # # 设置网络环境变量 # ENV HTTP_PROXY= # ENV HTTPS_PROXY= # ENV NO_PROXY=localhost,127.0.0.1,0.0.0.0 # # 明确禁用服务器认证,确保公开访问 # # 清除所有可能导致认证的环境变量 # ENV OPENCODE_SERVER_PASSWORD="" # ENV OPENCODE_SERVER_USERNAME="" # ENV OPENCODE_AUTH_REQUIRED=false # # 优化网络配置 # ENV NODE_OPTIONS="--max-http-header-size=16384 --max-old-space-size=2048" # # 网络优化设置 # ENV NODE_OPTIONS="--max-http-header-size=16384 --max-old-space-size=2048" # 设置调试级别 ENV NODE_ENV=production ENV LOG_LEVEL=info # 使用 opencode serve 启动服务器 # 这将启动 API 服务器,内置 Web 界面 # 添加 CORS 支持以允许跨域访问 CMD ["/.system/service/start-services.sh"]