跳到内容

基础设施与项目 ​

NBTCA 的线上那一面,是一个持续运转的开源社区:几台自建服务器、一批跑在 Cloudflare 上的无服务函数,和几十个公开在 github.com/nbtca 上的项目,共同支撑着维修、活动、宣传和日常协作。仍在活跃开发的项目各有一篇词条,写明它做什么、怎么在本地跑起来、有哪些适合上手的任务。

维修 ​

协会最核心的自建系统,支撑维修日和日常报修,怎么运转见维修工单系统。

  • Saturday(Go):维修服务的后端 API;
  • Home 的 /repair:报修入口和队员的维修面板;
  • Sunday(Vue):旧管理页 repair.nbtca.space,仍在线,页面顶部提示前往新地址,已不再开发;
  • Hawaii(TypeScript,私有):微信小程序“NBT电脑维修”,已停用;
  • RepairRecordPDF(C#):把已完成的工单渲染成 A5 维修记录单。

网站与工具 ​

  • Home(Astro):协会主页 nbtca.space,成员博客的投稿见撰写并发布你的第一篇 NBTCA 博客;
  • 协会日历:活动和校历的 ICS 订阅源,配套的 nbtcal 库负责解析;
  • Prompt(TypeScript):终端客户端,查活动、读文档、看服务状态、导出课表;
  • documents:你正在读的这个文档站,贡献方式见仓库的 CONTRIBUTING;配套的 docs 库供其他项目读取本站内容;
  • nbtverify(Go):校园网认证的命令行工具和 OpenWrt 插件;
  • 纳新登记:主页“加入我们”表单的后端是 serverless-active,一个 Cloudflare Worker;
  • 历史站点:旧版计协博客 blogs.nbtca.space 仍在线,内容停在 2024 年,仓库 blogs 已归档(私有);published_post 镜像了 2015 至 2023 年的 77 篇公众号文章。

消息与自动化 ​

账号、网络与部署 ​

  • 账号:NBTCA 账号基于协会维护的 Logto 分支,个人中心是 Logto-USS,内部管理页由 traefik-forward-auth 把关;
  • 部署:主页、Saturday、Sunday 跑在 Kubernetes 上,群机器人和 Minecraft 服务器用 Docker Compose,清单都在私有仓库 stacks;更早的 Terraform 与 Docker Swarm 方案(infra,私有)已停用。无状态的服务,比如文档站、短链接、日历、状态页,跑在 Cloudflare Workers 和 Pages 上;
  • 镜像:cloudflare-docker-proxy 在 Cloudflare 上代理 Docker Hub 和 GHCR,Saturday 等服务部署时经它拉取镜像;
  • 虚拟组网:基于 Headscale 自建的 Tailscale 网络,中继节点用的是改造过的 tailscale-derp,见 Tailscale 使用指南。

存储与镜像站 ​

  • 内网镜像站 i.nbtca.space:维修工具和系统镜像,清单见软件仓库索引,早期由 Repair-Tools 仓库管理。这条线可以追到很早:2016 年的装系统教学课件里,系统镜像的下载链接已经指向协会自建的内网 FTP(ftp://10.80.6.166);
  • 协会云盘 icloud.nbtca.space:协会 OneDrive 的只读索引,基于 onedrive-cf-index-ng,本站存档的原件都来自这里;
  • 文件门户:OpenList 与 OpenList-Frontend 两个分支加入了按 NBTCA 账号角色控制访问权限的功能,是协会在上游项目上改动最多的一处。

硬件与游戏 ​

  • CABadge(C):计协电子吧唧,硬件、固件和配套工具全部开源;
  • Minecraft:协会 Minecraft 服务器的进服教程;与 QQ 群互通消息的插件在 mcje-plugins。

参与开发 ​

每篇项目词条的“参与开发”一节都列了本地运行步骤和适合上手的任务,挑一个感兴趣的开始即可。提交代码的流程见 GitHub 工作流,跨项目的事务在 Roadmap 上跟踪。

以上之外,组织里还有一批已经停更的实验项目,比如 2023 年的聊天室 pit 系列、内网主页 Welcome 与 win-panel,以及照片整理、DNS 同步等小工具;完整清单见 github.com/nbtca。