fastoc / Dockerfile
OpenCode Deployer
update
6c277ab
# 使用 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"]