Files

71 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# WorkPod - 容器化开发环境
> 基于 Alpine 3.23 的轻量级开发容器,支持多项目隔离部署。
## 是什么
WorkPod 是一套 **Docker 容器化的全栈开发环境**,每个项目运行在独立容器中,通过 Web 终端(ttyd)或 SSH 访问。
## 核心特性
| 特性 | 说明 |
|------|------|
| 轻量镜像 | ~436MBAlpine 多阶段构建) |
| 开箱即用 | Node.js 24 + Claude Code + ttyd + tmux |
| 工具外挂 | Rust/Go/Python 安装到 /root,自动检测 PATH |
| 项目隔离 | 每个项目独立容器、独立端口、独立网络 |
| 会话管理 | tmux session 支持 URL 参数 / 交互菜单 |
## 快速开始
```bash
# 1. 构建基础镜像
docker compose -f instances/base/docker-compose.yml build
# 2. 启动基础实例
docker compose -f instances/base/docker-compose.yml up -d
# 3. 打开 Web 终端
# http://localhost:7681 (用户: jc, 密码: 1234567)
# 或 SSH 连接
# ssh root@localhost -p 2222 (密码: workpod123)
```
## 目录结构
```
workpod/
├── Dockerfile # 基础镜像构建
├── entrypoint.sh # 统一入口脚本
├── ttyd-session.sh # tmux 会话管理
├── instances/ # ★ 实例配置(每个项目一个目录)
│ ├── registry.yaml # 全局实例注册表
│ ├── base/ # 基础实例
│ ├── flux/ # Flux 项目实例
│ └── .template/ # 新建实例模板
├── docs/ # 文档体系
└── data/ # 运行时数据
```
## 文档索引
| 文档 | 位置 | 说明 |
|------|------|------|
| 实例管理指南 | `instances/README.md` | 端口规则、新建流程 |
| 实例注册表 | `instances/registry.yaml` | 所有实例的端口/状态 |
| 端口分配规则 | `docs/00-规范/端口分配规则.md` | 详细端口规划 |
| 实例创建流程 | `docs/00-规范/实例创建流程.md` | 步骤教程 |
| 架构设计 | `docs/01-架构/` | C4 图 + 组件关系 |
| 问题记录 | `docs/02-技术文档/ISSUES.md` | 历史问题与解决方案 |
| 部署指南 | `docs/03-运维/` | 本机 + 测试服部署 |
| 测试服实例 | `docs/03-运维/测试服实例.md` | 远程实例配置 |
| 审核报告 | `docs/04-审核/` | 安全/架构/Docker/Shell 审核 |
## 相关链接
- 基础镜像:`workpod-alpine:latest`(基于 alpine:3.23
- AI 工具:Claude Code (@anthropic-ai/claude-code)
- Web 终端:ttyd (Alpine apk)
- 会话管理:tmux + ttyd-session.sh