进阶技巧

飞牛NAS自建Git服务器:Gitea部署教程

在团队协作或个人开发中,拥有一个私有的 Git 服务器能极大提升代码管理的灵活性与安全性。虽然 GitHub、Gitee 等平台很方便,但代码托管在第三方服务器上,总有些场景(如内网开发、敏感项目)希望完全自控。飞牛NAS(fnOS)凭借强大的 Docker 支持和便捷的存储管理,非常适合作为自建 Git 服务器的载体。

今天,我们就来一步步在飞牛NAS上部署轻量级 Git 服务——Gitea。Gitea 是一个用 Go 编写的开源 Git 服务端程序,资源占用极低,功能却非常完善,支持 Wiki、Issue 追踪、Pull Request 等,足够替代商用平台满足日常需求。

准备工作

在开始之前,请确保你的飞牛NAS已经满足以下条件:

  1. 系统版本:fnOS 最新稳定版(确保 Docker 功能正常)。
  2. 网络环境:NAS 能正常访问互联网,以便拉取镜像。
  3. 存储空间:为 Gitea 数据卷预留至少 1GB 空间(实际大小取决于仓库数量)。
  4. SSH 或网页终端:推荐使用飞牛自带的「SSH」功能或「Docker」管理界面。

第一步:创建持久化数据目录

为了让 Gitea 的数据在容器重建或升级后不丢失,我们需要在 NAS 的存储池中创建一个专用目录。建议放在 Docker 数据目录下。

打开飞牛NAS的「文件管理」,进入 docker 共享文件夹(如果不存在,请先创建)。然后新建一个名为 gitea 的文件夹。在这个文件夹下,我们再创建两个子文件夹:data(存放数据库和仓库)和 config(存放配置文件)。

最终目录结构如下: /vol1/docker/gitea/data /vol1/docker/gitea/config

第二步:拉取 Gitea 镜像

打开飞牛NAS的「Docker」应用,在「镜像」页面点击「拉取镜像」,输入 gitea/gitea,标签选择 latest(或指定版本如 1.21.0 以获得更好的稳定性)。点击「拉取」等待完成。

第三步:创建并启动 Gitea 容器

这是最核心的一步。在 Docker 应用的「容器」页面,点击「添加容器」,进行如下配置:

基础设置 容器名称随意,如 gitea。镜像选择刚拉取成功的 gitea/gitea:latest

端口映射 Gitea 默认使用 3000 端口提供 Web 服务,使用 22 端口提供 SSH 服务。我们需要将宿主机的端口映射到容器内。

  • Web 端口:宿主机端口建议选择一个不冲突的,比如 3300(避免和 NAS 自身的 5000/5666 冲突),容器端口填 3000
  • SSH 端口:宿主机端口使用 2222,容器端口填 22。这样做的好处是避免和 NAS 自身的 SSH(22)端口冲突。

存储卷映射 将我们第一步创建的目录挂载到容器内。

  • 点击「添加存储卷」,选择 文件夹 类型。
  • /vol1/docker/gitea/data 挂载到容器的 /data 目录。
  • /vol1/docker/gitea/config 挂载到容器的 /etc/gitea 目录。

环境变量 这是让 Gitea 正确识别端口映射的关键。

  • 点击「添加环境变量」。
  • 添加 USER_UID = 1000(飞牛NAS默认用户UID)。
  • 添加 USER_GID = 1000
  • 添加 GITEA__server__DOMAIN = 你的NAS局域网IP(例如 192.168.1.100)。
  • 添加 GITEA__server__HTTP_PORT = 3300(这里填你映射的宿主机端口,注意不是容器端口)。
  • 添加 GITEA__server__SSH_PORT = 2222(同上,填映射的宿主机端口)。

其他设置保持默认,点击「创建」并启动容器。

第四步:初始化 Gitea 配置

容器启动后,打开浏览器,访问 http://你的NAS局域网IP:3300。你会看到 Gitea 的初始配置页面。

关键配置项如下

  • 数据库设置:新手建议选择 SQLite3,无需额外安装数据库,适合轻量使用。数据库文件会自动存储在 /data 目录下。
  • 应用名称:随意填写,如 我的代码仓库
  • 仓库根目录:默认 /data/git/repositories,保持默认即可。
  • 服务器域名:这里填入你访问 NAS 的地址,和之前环境变量中的保持一致。
  • SSH 服务端口:填 2222
  • HTTP 服务端口:填 3300

点击「安装 Gitea」按钮,等待几秒即可完成初始化。系统会自动创建一个管理员账号(你填写的用户名),请务必备份好密码。

第五步:日常使用与仓库创建

安装完成后,你会进入 Gitea 的主界面。

创建新仓库很简单:点击右上角的「+」号,选择「新建仓库」。填写仓库名称,选择可见性(私有/公开),点击「创建」。

克隆仓库时,注意地址会包含端口号。例如:

git clone http://192.168.1.100:3300/你的用户名/仓库名.git

或者使用 SSH 方式:

git clone ssh://[email protected]:2222/你的用户名/仓库名.git

这里的 git 用户是 Gitea 内置的 SSH 用户,密码则是你注册时的用户密码。

第六步:HTTPS 访问(可选)

如果你希望在外网通过 HTTPS 安全访问,需要在飞牛NAS的「网络设置」中配置端口转发,将外网的 443 端口转发到 NAS 的 3300 端口。同时,在 Gitea 的配置文件 app.ini 中设置 PROTOCOL = https 并配置证书。这一步比较复杂,建议先在内网使用,后续再考虑外网暴露。

常见问题与排查

端口冲突:如果启动失败,检查宿主机 3300 或 2222 是否已被占用。可以在飞牛的「终端」中执行 netstat -tlnp | grep 3300 查看。

数据备份:直接备份 /vol1/docker/gitea/data/vol1/docker/gitea/config 两个文件夹即可。恢复时,将文件夹放回原位,重新创建容器并挂载相同路径即可。

SSH 连接失败:检查防火墙是否放行了 2222 端口。在飞牛「控制面板」-「安全」-「防火墙」中,添加一条允许 TCP 端口 2222 的规则。

总结

通过以上简单的六步,你就在飞牛NAS上成功部署了一个功能完备的个人 Git 服务器。整个过程只需拉取镜像、配置端口和挂载目录,Gitea 的初始化向导大大简化了安装过程。从此,你的代码完全由自己掌控,无论是团队内网协作,还是个人多设备同步,都变得高效且安全。飞牛NAS的 Docker 能力加上 Gitea 的轻量特性,使得这个方案非常适合极客玩家和小型团队。尽情享受自建代码仓库的自由吧!

💬 评论区
发表评论

暂无评论,来说两句吧