高性能文件/文本匿名分享平台的装配仓库:本仓不含业务代码,只负责把各模块仓库拉齐成一个可开发、可构建、可部署的完整工作区。
拆分前的单仓库完整版本保留在 legacy 分支(全量历史)。 English overview: README.en-US.md
完整的架构图集(生态全景 / 仓库依赖 / core 分层 / 请求流 / 数据流 / 部署形态 / 发布流水线)见 docs/architecture.md(Mermaid 渲染)。
产品路线图见 ROADMAP.md;参与贡献前请读 CONTRIBUTING.md,安全漏洞请走 SECURITY.md 的披露流程。变更记录见 CHANGELOG.md。
| 仓库 | 角色 | 版本 |
|---|---|---|
| contracts | 契约层:错误码 + Thrift 生成类型(纯类型,零业务依赖) | v0.2.1 |
| core | 业务核心库:10 个域服务 + repo/storage + bootstrap.Bootstrap() 库入口 |
v0.6.4 |
| server | 独立部署应用:main 薄壳 + 前端静态资源 + Dockerfile | v0.6.4(跟随 core) |
| frontend | Vue3 + TS + Vite + Element Plus(API 规范由后端运行时生成 /openapi.json) |
- |
| filescodebox-fnos | 飞牛 fnOS 应用适配(可选,make setup 默认拉取) |
v0.2.2 |
依赖方向(单向,CI 守护):server / fnos / frontend ──► core ──► contracts
git clone https://github.com/filescodebox/filescodebox.git && cd filescodebox
make setup # 拉齐五个模块仓库(幂等,重复执行=更新)
make test # 全仓测试(Go 三模块 + 前端 typecheck)
make lint # golangci-lint 三 Go 模块(CI 同款门禁)
make build # workspace 联编
make smoke # 起 server 跑冒烟(健康检查/admin登录/文本分享)
# bash scripts/smoke-full.sh # 全能力真机冒烟(39 项断言,含临时 Redis)纯 Docker 部署(详见 docs/DEPLOY-COMPOSE.md):
cp .env.example .env # 可选,全部项有安全默认
docker compose up -d # ghcr 发布镜像,http://localhost:12345
# BUILD=1 make compose-up # 本地构建(需先 make setup)
# docker compose --profile nginx up -d # 加 nginx 反代(须配 FCB_TRUSTED_PROXIES,见部署指南)默认管理员 admin / admin123(生产务必以 FCB_ADMIN_PASSWORD 覆盖)。JWT 密钥留空时首启自动生成并持久化到 ./data/.jwt_secret。
FileCodeBox/ ← 本仓(装配层:脚本/联编/编排)
├── go.work # contracts+core+server 本地联编
├── contracts/ core/ server/ frontend/ ← 独立 git 仓库(gitignore 掉)
└── data/ ← compose 数据卷
各模块仓库独立开发、独立 CI、独立发版;server/Dockerfile 的构建上下文恰好就是本目录,make docker 直接出完整镜像。
打 v* tag 即自动构建多架构镜像推 ghcr(见各仓 release.yml):
ghcr.io/filescodebox/server · ghcr.io/filescodebox/filecodebox-fnos