# km_cloud **Repository Path**: battlerabbit/km_cloud ## Basic Information - **Project Name**: km_cloud - **Description**: 生物信息云平台前后端代码 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-27 - **Last Updated**: 2026-01-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 生物信息云平台 ## 项目简介 生物信息云平台是一个基于Web的生信分析工具管理平台,用户可以通过浏览器上传数据、运行生信工具、管理项目文件和监控任务状态。平台提供了完整的用户认证、文件管理、任务调度和结果展示功能。 ## 技术架构 ### 后端技术栈 - **Flask**: Python Web框架,用于构建RESTful API和页面路由 - **PostgreSQL**: 关系型数据库,存储用户信息、任务数据等 - **Psycopg2**: PostgreSQL数据库适配器 ### 前端技术栈 - **Tailwind CSS**: 用于构建现代化的用户界面 - **Font Awesome**: 图标库 - **原生JavaScript**: 实现前端交互逻辑 ### 目录结构 ``` km_cloud/ ├── app.py # 应用入口文件 ├── config.py # 配置文件 ├── init-scripts/ # 数据库初始化脚本 ├── models/ # 数据模型 ├── routes/ # API路由 ├── services/ # 业务服务层 ├── templates/ # HTML模板 ├── tool_configs/ # 生信工具配置文件 ├── utils/ # 工具函数 └── bio_data/ # 用户数据存储目录 ``` ### 核心功能模块 1. **用户认证系统**: 注册、登录、会话管理 2. **文件管理系统**: 上传、下载、重命名、删除文件 3. **项目管理**: 文件树结构展示和管理 4. **任务调度系统**: 提交、监控、查看任务状态 5. **生信工具管理**: 工具配置、参数设置、结果展示 6. **个人中心**: 用户信息管理、密码修改 ## 部署方式 ### 环境要求 - Docker - Docker Compose ### 安装步骤 1. **克隆项目代码**: ```bash git clone <项目地址> cd km_cloud ``` 2. **初始化子模块**: ```bash git submodule init git submodule update ``` 或者在克隆时直接初始化子模块: ```bash git clone --recursive <项目地址> ``` 3. **配置环境变量**: 创建 `.env` 文件并配置以下环境变量: ```bash DB_HOST=postgres DB_NAME=km_cloud_db DB_USER=postgres DB_PASSWORD=your_password DB_PORT=5432 SECRET_KEY=your_secret_key ADMIN_EMAIL=admin@example.com ``` 4. **启动应用**: ```bash docker-compose up -d ``` 该命令会自动启动PostgreSQL和应用服务。 ### 配置说明 #### config.py 配置项 [config.py](file:///mnt/km_cloud/config.py) 文件包含了所有可配置的参数,用户可以根据自己的环境修改这些配置: ```python class Config: # Flask密钥,用于会话加密 SECRET_KEY = os.environ.get('SECRET_KEY') or 'dev-secret-key' # 数据库配置 DB_HOST = os.environ.get('DB_HOST', '192.168.10.26') # 数据库主机地址 DB_NAME = os.environ.get('DB_NAME', 'km_cloud_db') # 数据库名称 DB_USER = os.environ.get('DB_USER', 'postgres') # 数据库用户名 DB_PASSWORD = os.environ.get('DB_PASSWORD', 'password') # 数据库密码 DB_PORT = os.environ.get('DB_PORT', '5432') # 数据库端口 # 管理员邮箱配置 ADMIN_EMAIL = os.environ.get('ADMIN_EMAIL') # 用户数据存储根目录 DATA_ROOT = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'bio_data') # 工具配置目录 TOOLS_CONFIG_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'tool_configs') ``` #### 自定义配置方法 1. **通过环境变量配置** (推荐): 在 `.env` 文件中配置: ```bash DB_HOST=your_db_host DB_NAME=your_db_name DB_USER=your_db_user DB_PASSWORD=your_db_password DB_PORT=your_db_port SECRET_KEY=your_secret_key ADMIN_EMAIL=admin@example.com ``` 2. **直接修改config.py**: 修改 [config.py](file:///mnt/km_cloud/config.py) 文件中的默认值,例如: ```python DB_HOST = os.environ.get('DB_HOST', 'your_db_host') DB_NAME = os.environ.get('DB_NAME', 'your_db_name') ``` 3. **创建生产环境配置**: 在 [config.py](file:///mnt/km_cloud/config.py) 中添加自定义配置类: ```python class ProductionConfig(Config): DEBUG = False DB_HOST = 'your_production_db_host' DB_PASSWORD = 'your_production_db_password' # 其他生产环境配置... ``` ### 工具配置 生信工具的配置文件位于 `tool_configs/` 目录下,每个工具对应一个JSON文件。可以通过添加或修改这些JSON文件来配置工具参数: ```json { "id": "tool_id", "name": "工具名称", "version": "工具版本", "last_modified": "最后修改时间", "description": "工具描述", "parameters": [ { "name": "参数名", "label": "参数显示名称", "type": "参数类型(select/file/number/string)", "required": true/false, "default": "默认值", "description": "参数描述" } ] } ``` 通过以上配置,可以灵活地适配各种生信工具和部署环境。 ```