{"id":15043992,"url":"https://github.com/rainoffallingstar/beaverdowncontainers","last_synced_at":"2026-02-26T00:49:36.624Z","repository":{"id":255958964,"uuid":"853981056","full_name":"rainoffallingstar/BeaverdownContainers","owner":"rainoffallingstar","description":"BeaverdownContainers-Archlinux/Manjaro based bioinformatic container","archived":false,"fork":false,"pushed_at":"2025-01-17T00:47:21.000Z","size":68,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T20:29:45.072Z","etag":null,"topics":["archlinux","bioinformatics","docker-image","manjaro","r","rstudio-server","snakemake"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rainoffallingstar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-08T04:23:44.000Z","updated_at":"2025-01-17T00:47:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"a5f6f927-cd17-4b7e-a5f3-aab72a10f9ca","html_url":"https://github.com/rainoffallingstar/BeaverdownContainers","commit_stats":null,"previous_names":["rainoffallingstar/beaverdowncontainers"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rainoffallingstar%2FBeaverdownContainers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rainoffallingstar%2FBeaverdownContainers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rainoffallingstar%2FBeaverdownContainers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rainoffallingstar%2FBeaverdownContainers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rainoffallingstar","download_url":"https://codeload.github.com/rainoffallingstar/BeaverdownContainers/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237869256,"owners_count":19379290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archlinux","bioinformatics","docker-image","manjaro","r","rstudio-server","snakemake"],"created_at":"2024-09-24T20:49:55.950Z","updated_at":"2026-02-26T00:49:36.619Z","avatar_url":"https://github.com/rainoffallingstar.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🦫 BeaverdownContainers - Beaverdown2生物信息学容器套件\n\n[![](https://github.com/rainoffallingstar/BeaverdownContainers/actions/workflows/beavermake.yml/badge.svg)](https://github.com/rainoffallingstar/BeaverdownContainers/actions/workflows/beavermake.yml) [![](https://github.com/rainoffallingstar/BeaverdownContainers/actions/workflows/beaverworker.yml/badge.svg)](https://github.com/rainoffallingstar/BeaverdownContainers/actions/workflows/beaverworker.yml)\n\n---\n\n## 📦 项目概述\n\nBeaverdownContainers 是 **Beaverdown2 生物信息学工作流系统**的高效 Docker 容器套件 `\u003csmall\u003e`(Efficient Docker container suite for the Beaverdown2 bioinformatics workflow system)`\u003c/small\u003e`。这些容器专为性能和易用性设计，简化了生物信息学和数据分析任务。\n\n✨ **核心特色**:\n\n- 🐧 **基于 Arch Linux** - 轻量、灵活的 Linux 发行版\n- 🧰 **yay AUR 助手** - 强大的 Arch 用户仓库包管理\n- 🐍 **Python 3** - 完整的 Python 开发环境\n- 📊 **R 语言环境** - 完整的统计分析生态系统（40+ 包）\n- 📓 **JupyterLab** - 交互式计算环境（集成 Ark 增强）\n- 🔧 **Ark + Air** - Posit Dev 开发工具链\n- 💡 **R LSP 支持** - languageserver + lintr 代码质量工具\n- 🦀 **Rust** - 高性能系统编程语言\n- 🟢 **Node.js** - JavaScript 运行时\n- 🔵 **Go** - 现代化编程语言\n- 🤖 **Claude Code CLI** - 已全局安装\n\n容器采用层次化设计，从基础镜像逐步构建，确保每一层都有明确的功能分工和依赖管理。\n\n---\n\n## 🏗️ 容器架构\n\n### 📊 架构图\n\n```mermaid\ngraph TD\n    A[archlinux:latest] --\u003e B[beavermake]\n    B --\u003e C[beaverworker]\n\n    B --\u003e D[Python + R + pak + micromamba + yay + rustup + Node.js + npm + Go]\n    C --\u003e E[R 包 + JupyterLab + SSH + fallingstar10 + Claude Code]\n```\n\n### 🎯 层次化容器结构\n\n#### 1. **🛠️ beavermake** - 基础容器层\n\n- **基础镜像**: `archlinux:latest`\n- **编程语言**: Python 3, R, Rust, Node.js, Go\n- **包管理器**:\n  - **pip** (Python)\n  - **pak** (R)\n  - **micromamba** (跨语言包管理)\n  - **yay** (Arch AUR)\n  - **cargo** (Rust)\n  - **npm** (Node.js)\n  - **go mod** (Go)\n- **特点**: 并行编译配置，最小权限用户 `builduser`\n\n#### 2. **🧬 beaverworker** - 统一工作环境\n\n- **继承自**: `fallingstar10/beavermake:latest`\n- **R 语言环境**:\n  - 40+ R 包（Shiny, 统计, 生信, 富集, 高级, ML）\n  - Bioconductor 核心包\n  - GitHub 专用包\n- **集成功能**:\n  - 📓 **JupyterLab** - 已安装，需手动启动（端口 8889）\n    - 集成 **Ark** (Posit Dev) - 增强 JupyterLab 功能\n  - 🔧 **Air** (Posit Dev) - R 包管理和发布工具\n  - 💡 **R 语言服务器** - languageserver + lintr 支持\n  - 🔐 **SSH 访问** - 自动启动（端口 2222）\n  - 👤 **fallingstar10 用户** - 默认登录账户（密码：fallingstar10）\n  - 🤖 **Claude Code CLI** - 已全局安装\n  - 👥 **交互式用户管理** - `add-user` 命令创建新用户\n- **备用端口**: 8080, 8787（可用于 Shiny 等其他服务）\n\n---\n\n## 🚀 快速开始\n\n### 使用 Docker CLI\n\n#### 1️⃣ 拉取预构建镜像\n\n```bash\ndocker pull fallingstar10/beavermake:latest\ndocker pull fallingstar10/beaverworker:latest\n```\n\n#### 2️⃣ 运行容器\n\n```bash\n# 🛠️ beavermake - 基础开发环境\ndocker run -it --name beavermake fallingstar10/beavermake:latest\n\n# 🧬 beaverworker - 完整工作环境（推荐）\ndocker run -p 2222:2222 -p 8889:8889 -p 8080:8080 -p 8787:8787 \\\n  --name beaverworker fallingstar10/beaverworker:latest\n```\n\n#### 3️⃣ 访问服务\n\n**SSH 访问**（自动启动）:\n```bash\nssh fallingstar10@localhost -p 2222\n# 密码: fallingstar10\n```\n\n**启动 JupyterLab**（手动启动）:\n```bash\n# 方法 1: SSH 登录后启动\ndocker exec -it beaverworker /bin/bash\nsu - fallingstar10 -c 'jupyter-lab --no-browser --allow-root --ip=* --port=8889 \u0026'\n\n# 方法 2: 直接启动\ndocker exec beaverworker su - fallingstar10 -c \"jupyter-lab --no-browser --allow-root --ip=* --port=8889\" \u0026\n```\n\n然后访问: **http://localhost:8889**\n\n**创建新用户**:\n```bash\n# 进入容器\ndocker exec -it beaverworker /bin/bash\n\n# 运行交互式用户管理脚本\nsudo add-user\n```\n\n脚本将引导您完成用户创建过程。\n\n### 使用 R/dockerR 包\n\n```r\n# 拉取镜像\nsource(\"pull_image.R\")\n\n# 从源码构建\nsource(\"build_image.R\")\n```\n\n---\n\n## 🔧 详细构建指南\n\n### 🖥️ 本地构建\n\n```bash\n# 构建所有容器镜像\ndocker build -t fallingstar10/beavermake:latest ./beavermake\ndocker build -t fallingstar10/beaverworker:latest ./beaverworker\n```\n\n### ⚡ CI/CD 自动构建\n\n项目使用 **GitHub Actions** 实现持续集成和自动部署：\n\n- **🕐 定时构建**: 每周五自动构建\n  - `beavermake`: 06:00 UTC\n  - `beaverworker`: 08:00 UTC\n- **🔔 触发条件**:\n  - 📅 定时调度（每周）\n  - 👆 手动触发 (`workflow_dispatch`)\n  - 📝 对应目录的 `push` 事件\n- **🚀 操作流程**: 自动构建并推送到 Docker Hub (`fallingstar10/` 命名空间)\n\n---\n\n## 📋 容器详细说明\n\n### 🛠️ beavermake 容器\n\n**基础镜像**: `archlinux:latest`\n\n**🧰 核心工具**:\n\n- **Python 3**: `python`, `pip`\n- **R**: `r`, `pak` 包管理器\n- **micromamba**: 轻量级 Conda 替代品\n- **yay**: AUR 包管理器\n- **Rust**: `rustup`, `rustc`, `cargo`\n- **Node.js**: `node`, `npm`\n- **Go**: `go`\n\n**⚙️ 配置优化**:\n\n- 并行编译配置\n- 最小权限用户 `builduser`\n- 镜像优化：清理缓存减少镜像大小\n\n### 🧬 beaverworker 容器\n\n**继承自**: `fallingstar10/beavermake:latest`\n\n**🎯 主要功能**:\n\n#### 1. 📊 R 语言环境\n\n- **R 基础系统**: 完整的 R 语言运行时\n- **包管理器**: 使用 `pak` 进行高效的 R 包管理\n- **R 包组**:\n  - **组1**: Shiny 生态（DT, shinyWidgets, bslib）\n  - **组2**: 统计和可视化（plotly, pROC, tidyverse）\n  - **组6**: 机器学习（mlr3verse）\n  - **组7**: 开发工具（languageserver, lintr）\n\n#### 2. 📓 JupyterLab + Posit Dev 工具\n\n- **JupyterLab**:\n  - **状态**: 已安装，需要手动启动\n  - **启动命令**: `su - fallingstar10 -c 'jupyter-lab --no-browser --allow-root --ip=* --port=8889 \u0026'`\n  - **访问端口**: 8889\n  - **语言支持**: Python, R, Bash\n  - **扩展生态**: 可安装丰富的 JupyterLab 扩展\n\n- **Ark (Posit Dev)**:\n  - **版本**: 0.1.222\n  - **功能**: 增强 JupyterLab 的 R 开发体验\n  - **安装位置**: `/usr/bin/ark`\n  - **自动集成**: 构建时执行 `ark --install`\n\n- **Air (Posit Dev)**:\n  - **功能**: R 包管理和发布工具\n  - **安装方式**: 官方安装脚本\n  - **用途**: 简化 R 包的创建、测试和发布流程\n\n#### 3. 🔐 SSH 访问\n\n- **状态**: 自动启动\n- **端口**: 2222\n- **默认用户**: fallingstar10（密码：fallingstar10）\n- **配置**: 支持 SSH 密钥认证\n\n#### 4. 👥 用户管理\n\n- **工具**: `add-user` 交互式脚本\n- **位置**: `/usr/local/bin/add-user`\n- **功能**: 创建新用户，配置 sudo、SSH、环境\n- **使用**: `sudo add-user`\n\n#### 5. 🤖 Claude Code CLI\n\n- **全局安装**: 可直接使用 `claude-code` 命令\n- **用途**: AI 辅助编程\n\n#### 6. 💡 R 语言服务器和代码质量工具\n\n- **languageserver**:\n  - **功能**: 为 R 提供 Language Server Protocol (LSP) 支持\n  - **用途**: 代码补全、语法高亮、错误检查、定义跳转\n  - **编辑器支持**: VS Code, Vim/Neovim, Emacs 等\n\n- **lintr**:\n  - **功能**: R 代码静态分析工具\n  - **用途**: 代码风格检查、最佳实践建议、潜在问题检测\n  - **集成**: 可与编辑器、CI/CD 流程集成\n\n#### 7. 🌐 备用端口\n\n- **8080**: 可用于 Shiny 等 R Web 应用\n- **8787**: 预留给其他服务\n\n---\n\n## 🧪 使用示例\n\n### 多语言开发\n\n#### Python 开发\n\n```bash\n# 进入容器\ndocker exec -it beaverworker /bin/bash\n\n# 使用 micromamba 安装包\nmicromamba install pandas numpy scipy -y\n\n# Python 交互式\npython\n```\n\n#### R 开发\n\n```bash\n# 使用 pak 安装 R 包\nR -e \"pak::pkg_install('dplyr', 'ggplot2')\"\n\n# R 交互式\nR\n\n# 使用 languageserver（LSP 支持）\n# 在 VS Code 中安装 R 插件后，自动启用代码补全、跳转等功能\n\n# 使用 lintr 进行代码检查\nR -e \"lintr::lint_dir('.')\"\n\n# 使用 Air 管理 R 包\nair --help\n```\n\n#### Rust 开发\n\n```bash\n# 首次使用需要初始化 Rust 环境\nsource ~/.cargo/env\n\n# 创建新项目\ncargo new myproject\ncd myproject\ncargo run\n\n# 安装常用工具\ncargo install ripgrep  # rg - 超快的 grep\ncargo install fd-find  # fd - 超快的 find\ncargo install bat      # bat - 带高亮的 cat\n```\n\n#### Node.js 开发\n\n```bash\n# 初始化项目\nnpm init -y\n\n# 安装依赖\nnpm install express\n\n# 安装全局工具\nnpm install -g typescript prettier eslint yarn\n\n# 使用 Claude Code\nclaude-code\n```\n\n#### Go 开发\n\n```bash\n# 检查版本\ngo version\n\n# 创建项目\nmkdir myproject \u0026\u0026 cd myproject\ngo mod init myproject\n\n# 运行程序\ngo run main.go\n```\n\n---\n\n## ⚙️ 系统要求\n\n### 💻 最低硬件要求\n\n- **内存**: 至少 4GB RAM（推荐 8GB+）\n- **存储**: 至少 10GB 可用磁盘空间\n- **CPU**: 支持虚拟化的多核处理器（推荐 4 核以上）\n\n### 📦 软件要求\n\n- **Docker**: 版本 20.10 或更高\n- **操作系统**: 支持 Docker 的任何系统\n  - 🐧 Linux: 原生支持\n  - 🪟 Windows: 推荐使用 WSL2\n  - 🍎 macOS: 原生支持\n\n---\n\n## 🔍 故障排除\n\n### 常见问题\n\n#### 1. 🔌 容器启动失败\n\n```bash\n# 检查端口冲突\nnetstat -tulpn | grep \u003c端口号\u003e\n\n# 查看容器日志\ndocker logs beaverworker\n```\n\n#### 2. 🔐 SSH 连接问题\n\n```bash\n# 检查 SSH 服务状态\ndocker exec beaverworker /bin/bash -c \"ps aux | grep sshd\"\n\n# 查看 SSH 配置\ndocker exec beaverworker cat /etc/ssh/sshd_config\n```\n\n#### 3. 📓 JupyterLab 无法访问\n\n```bash\n# 检查 Jupyter 进程\ndocker exec beaverworker /bin/bash -c \"ps aux | grep jupyter\"\n\n# 重启容器\ndocker restart beaverworker\n```\n\n---\n\n## 🤝 贡献指南\n\n欢迎任何形式的贡献！\n\n### 开发规范\n\n- **层次清晰**: 保持 Dockerfile 的继承关系明确\n- **镜像优化**: 尽量减少镜像大小\n- **向后兼容**: 确保新版本不破坏现有功能\n\n---\n\n## 📄 许可证\n\n本项目基于 **MIT 许可证**开源发布。\n\n---\n\n## 🙏 致谢\n\n感谢以下优秀项目：\n\n- **🐧 Arch Linux** - 轻量、灵活的 Linux 发行版\n- **📊 R 语言社区** - 丰富的统计分析和可视化包\n- **🧬 Bioconductor** - 生物信息学 R 包生态系统\n- **🔧 Posit** - Ark, Air 等 R 开发工具\n- **📦 Conda/Mamba** - Python 包和环境管理\n- **🐋 Docker** - 容器化技术标准\n- **🤖 Anthropic** - Claude Code CLI\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**✨ 简化、统一、高效的生物信息学容器套件！**\n\n[⭐ Star 本项目](https://github.com/rainoffallingstar/BeaverdownContainers) | [📝 报告问题](https://github.com/rainoffallingstar/BeaverdownContainers/issues) | [🔧 参与贡献](#-贡献指南)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frainoffallingstar%2Fbeaverdowncontainers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frainoffallingstar%2Fbeaverdowncontainers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frainoffallingstar%2Fbeaverdowncontainers/lists"}