fnndsc/cubeChRIS_ultron_backEnd(简称CUBE)是ChRIS(容器化***计算开源平台)的核心后端组件,负责维护用户、文件、插件及管道的数据库。作为ChRIS系统的中枢,CUBE基于Django框架构建,集成PostgreSQL数据库和Celery任务队列,提供符合collection+json媒体类型的HTTP API,支撑整个平台的数据管理与工作流调度。
just命令行工具简化开发与部署流程just命令行工具(任务运行器)Docker/Podman安装:
Podman配置(若使用Podman):
shell# 启动Podman用户服务 systemctl --user start podman.service # 设置容器运行时偏好(二选一) just prefer podman # 优先使用Podman just prefer docker # 优先使用Docker
just安装:参考just官方文档
shell# 克隆代码仓库 git clone [***] cd ChRIS_ultron_backEnd # 启动服务(首次运行需5-20分钟拉取/构建镜像) just
服务启动后,CUBE将运行于http://localhost:8000/api/v1/,可通过浏览器访问或结合ChRIS_ui前端使用。
just命令| 命令 | 功能描述 |
|---|---|
just | 启动开发环境(默认命令) |
just test-all | 运行所有测试(单元测试+集成测试) |
just test-unit | 仅运行单元测试 |
just test-integration | 仅运行集成测试 |
just nuke | 停止服务并清理所有容器、镜像与数据 |
just up | 重建并重启修改过docker-compose.yml的服务 |
just build | 重建镜像(修改Dockerfile或依赖时使用) |
just bash | 进入容器交互式bash终端 |
just shell | 进入Python REPL环境 |
just --list --unsorted | 列出所有可用just命令 |
shell# 运行指定测试模块 just test feeds.tests.test_views # 运行chris_backend/feeds/tests/test_views.py # 验证API可用性(需安装xh与jnv/jq) xh -a chris:chris1234 :8000/api/v1/ | jnv
shell# 停止服务但保留数据 just down # 完全清理(删除容器、镜像、数据卷) just nuke
| 变量名 | 说明 | 默认值 |
|---|---|---|
CUBE_IMAGE | CUBE服务镜像 | localhost/fnndsc/cube:dev |
PFCON_IMAGE | pfcon服务镜像(任务执行器) | localhost/fnndsc/pfcon:dev |
docker-compose.yml变更:修改后需执行just up重建服务Dockerfile或requirements/*.txt):需执行just build && just up重建镜像并重启justlocalhost/fnndsc/cube:dev作为Python解释器若需本地安装依赖(如LSP支持):
shell# 使用micromamba创建环境(推荐) micromamba create -p ./.mambaenv -c conda-forge -y python=3.11 python-ldap=3.4 micromamba -p ./.mambaenv run pip install -r requirements/local.txt # 激活环境 micromamba activate -p ./.mambaenv
通过drf-spectacular生成OpenAPI schema,修改API后需验证:
shelljust openapi > /dev/null # 验证OpenAPI注解 just openapi-split > /dev/null # 拆分并验证schema
生产环境部署请参考官方Helm文档:[***]
可作为GitHub Actions步骤运行集成测试,示例配置:
yamljobs: test: runs-on: ubuntu-24.04 steps: - name: Run ChRIS backend integration tests uses: FNNDSC/ChRIS_ultron_backEnd@master with: engine: docker # 或podman command: test-integration # 或test-unit、test-all等 env: CUBE_IMAGE: localhost/fnndsc/cube:dev # 自定义镜像(可选) PFCON_IMAGE: localhost/fnndsc/pfcon:dev
!ChRIS架构图
(注:支持系统深色模式自动切换,深色模式下显示深色架构图)
注意:上述部分文档可能存在过时内容,请以最新代码实现为准。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务