services: rdgen: build: . image: rdgen:latest container_name: rdgen restart: unless-stopped environment: # ===== 安全 ===== # 生产环境务必更换:可执行 python -c "import secrets;print(secrets.token_hex(50))" 生成 SECRET_KEY: "please-change-this-secret-key-in-production-9f3c1a7e5b2d8f06" DEBUG: "false" ALLOWED_HOSTS: "*" # 经过 Nginx/Caddy 等 HTTPS 反向代理时填写实际访问地址(空格分隔多个) CSRF_TRUSTED_ORIGINS: "" # 配置后,GitHub Actions 回调需携带请求头 X-Webhook-Secret: <相同值>;留空则不校验 WEBHOOK_SECRET: "" # ===== 初始管理员(仅首次启动、用户不存在时创建)===== DJANGO_SUPERUSER_USERNAME: "admin" DJANGO_SUPERUSER_PASSWORD: "Rdgen@2026" DJANGO_SUPERUSER_EMAIL: "admin@example.com" # ===== GitHub 构建配置(BUILD_PLATFORM=github 时使用)===== GHUSER: "github_username" GHBEARER: "github_access_token" GENURL: "accessible_url_of_server" # 必须与构建仓库 Secret「ZIP_PASSWORD」完全一致;切勿留空(留空会导致构建提交 500)。 # 这里给出可用的默认值 insecure,正式环境建议两边同时更换为同一随机强密码 ZIP_PASSWORD: "insecure" GHBRANCH: "master" PROTOCOL: "https" REPONAME: "rdgen" SH_SECRET: "" # 服务器访问 GitHub 的代理(触发构建/查询状态/拉取版本列表); # 如 http://host:port 或 socks5://host:port(socks5 需 PySocks,镜像已内置), # 留空直连;也可在后台「构建平台配置」中配置(优先级高于此变量) GH_PROXY: "" # ===== 构建平台切换(github / gitea,默认 github)===== # 选择 gitea 后使用下方 Gitea 配置触发自建 Gitea Actions; # Gitea 构建机(Linux/Windows/macOS runner)需自行准备并注册。 BUILD_PLATFORM: "github" GITEA_SERVER_URL: "" # 如 https://gitea.example.com(建议 Gitea >= 1.27) GITEA_TOKEN: "" # Gitea API 令牌,需仓库 Actions 读写权限 GITEA_OWNER: "" # Gitea 仓库属主(用户/组织) GITEA_REPO: "rdgen" GITEA_BRANCH: "master" GITEA_PROXY: "" # Gitea 多在同内网,通常留空直连 # ===== 定时维护(也可在后台「维护设置」页配置,页面配置优先级更高)===== # 已结束构建任务保留天数(0=永不清理);是否每日自动备份数据库;备份保留份数 BUILD_RETENTION_DAYS: "30" DB_BACKUP_ENABLED: "1" DB_BACKUP_KEEP: "7" # ===== 数据库(挂载到持久卷)===== DB_PATH: "/opt/rdgen/data/db.sqlite3" ports: - "8000:8000" volumes: # 数据库(账号/构建记录/配置方案)使用固定名称的命名卷: # 与部署目录解耦,重建镜像、换目录重新部署都不会丢数据; # 切勿执行 `docker compose down -v`(会连命名卷一起删除)。 - rdgen-data:/opt/rdgen/data # 以下为构建产物目录,保持宿主机绑定挂载,便于直接查看/取文件 - ./exe:/opt/rdgen/exe - ./png:/opt/rdgen/png - ./temp_zips:/opt/rdgen/temp_zips volumes: rdgen-data: name: rdgen-data