进阶技巧

NAS 搭建 Git 私有仓库:团队协作的版本控制利器

你是否遇到过这样的场景:团队协作开发时,代码托管在第三方平台,担心代码泄露或平台不稳定?或者个人项目想要版本管理,却不想将代码公开?NAS 上搭建 Git 私有仓库,就能完美解决这些问题。它让你拥有完全自主的代码托管服务,数据安全可控,还能与团队高效协作。

为什么选择在 NAS 上搭建 Git 仓库

NAS 作为家庭或小型企业的数据中心,本身具备高可用性和数据冗余能力。将 Git 仓库部署在 NAS 上,意味着你的代码仓库与重要数据享受同样的保护机制。相比使用 GitHub 或 GitLab 的免费版,私有仓库在 NAS 上完全免费,且不受仓库数量和协作人数限制。

更重要的是,代码数据完全掌握在自己手中,无需担心第三方平台的政策变化或服务中断。对于注重代码安全的中小团队或个人开发者,这是极具吸引力的方案。

环境准备与 Git 服务选择

在开始之前,需要确认你的 NAS 支持 Docker 或已安装 Git 软件包。群晖、威联通等主流 NAS 均支持 Docker,这是最灵活的部署方式。

推荐使用 Gitea 或 Gogs 这类轻量级 Git 服务,它们资源占用小,功能齐全,非常适合 NAS 环境。以 Gitea 为例,其 Docker 镜像仅需约 200MB 内存,却提供了完整的仓库管理、Issue 跟踪和代码审查功能。

使用 Docker 部署 Gitea

首先在 NAS 的 Docker 套件中创建 Gitea 容器。以群晖为例,打开 Docker 应用,在注册表中搜索 gitea,下载最新镜像。

创建容器时,需要配置端口映射。将容器的 3000 端口映射到 NAS 的任意空闲端口,如 3000。同时映射 22 端口用于 SSH 访问,建议映射为 2222 避免与 NAS 自身 SSH 冲突。

数据持久化至关重要。创建以下挂载卷: - /data 映射到 NAS 的 docker/gitea/data 目录,存放仓库数据 - /etc/gitea 映射到 docker/gitea/config 目录,存放配置文件

环境变量中设置时区 TZ=Asia/Shanghai,其他选项保持默认。启动容器后,通过 http://NAS_IP:3000 访问 Gitea 初始化页面。

初始化配置与创建仓库

首次访问会进入安装配置页面。数据库选择 SQLite3,这是最简单的方式,无需额外数据库服务。仓库根路径保持默认 /data/git/repositories,SSH 服务器端口填写 2222,HTTP 端口填写 3000。

管理员账号设置中,创建你的管理员用户名和密码。完成后点击安装,几秒后即可进入 Gitea 主界面。

现在可以创建第一个仓库。点击右上角加号,选择新建仓库。填写仓库名称、描述,选择公开或私有。建议勾选初始化仓库,会自动生成 README 文件。创建完成后,仓库就正式上线了。

本地代码推送与团队协作

在本地开发机上,将远程仓库地址添加到已有项目:

git remote add origin http://NAS_IP:3000/用户名/仓库名.git

如果是新项目,先克隆仓库:

git clone http://NAS_IP:3000/用户名/仓库名.git

推送代码到 NAS:

git push -u origin main

团队成员只需访问 http://NAS_IP:3000 注册账号,你将其添加到仓库协作者中,他们就能克隆和推送代码。Gitea 还支持分支保护、Pull Request 审核等高级功能,满足团队协作需求。

启用 HTTPS 与访问优化

默认情况下 Gitea 使用 HTTP 协议,数据以明文传输。为了安全,建议配置 HTTPS。在 Gitea 配置文件 app.ini 中,添加:

[server]
PROTOCOL = https
CERT_FILE = /data/cert.pem
KEY_FILE = /data/key.pem

将证书文件放入挂载的 data 目录,重启容器即可生效。如果使用群晖,可以利用反向代理功能,通过 DSM 的证书管理器自动管理证书,更简单方便。

对于外网访问,可以在路由器上设置端口转发,或使用群晖的 QuickConnect 服务,实现远程访问代码仓库。

在 NAS 上搭建 Git 私有仓库,不仅解决了代码托管的安全问题,还提供了完全自主可控的协作平台。无论是个人项目还是团队开发,都能获得流畅的版本控制体验。现在就在你的 NAS 上部署一个专属代码仓库吧,让团队协作更加高效安全。

💬 评论区
发表评论

暂无评论,来说两句吧