在飞牛NAS上搭建自己的代码仓库并实现外部访问

发布时间:2026/7/27 9:54:06
在飞牛NAS上搭建自己的代码仓库并实现外部访问 在飞牛NAS上搭建自己的代码仓库并实现外部访问下载安装Gitea 新建分支外部无法Clone问题的表现及解决使用 Docker 反向代理配合穿透无需公网 IP解决不需要登录直接操作的问题注意事项捣鼓了一下午终于搞出来了啊还是挺有成就感的后面就准备在这上面做代码管理了看看和商用的相比如何。后续我会更新一些使用过程中的经验及心得体会。下载安装参考下面的链接即可值得一提的是我这里没有下载最新版本的mysql用最新版本的总是有奇奇怪怪的问题这里我用的是8.0.44Debian参考连接链接: Blog 1链接: Blog 2链接: Blog 3Gitea 新建分支新建分支的选项比较隐秘具体的位置在红色矩形框中。还有一个比较隐秘的选项是设置在设置里面可以有很多的选项配置。外部无法Clone问题的表现及解决vscode 里面clone会报错这个问题官方已经在解决了。目前不能Clone。在内网IP下clone没有问题那就是内网穿透的问题了本来使用飞牛自带的穿透应该是没有问题的但是现在看来还是有那么一丢丢问题如果飞牛官方的路子没有办法解决那么我们自己想办法解决。找一个frp的软件在飞牛上部署之后可以成功的外网访问目前还是IP的形式后续可以变成域名的形式。使用零点FRP配置可以在本机的vscode直接操作并且克隆仓库。下面说一下如何使用零点frp完成这一步骤打开链接 零点frp 然后注册账号。登录之后选择穿透服务3. 试用可以选择一些免费的节点然后创建新隧道※ 隧道名称可以自己定义这里我选择的是gitea-ssh。※ 本地IP 一般是127.0.0.1※ 端口在飞牛NAS上的配置一般是8418※ 远程端口可以自己定义。4. 然后创建隧道隧道创建好之后可以在我的订阅中查看5. 选择配置文件然后在飞牛NAS上下载一个frp客户端6. 下载安装好客户端之后打开将配置文件的内容粘贴到客户端中。7. 修改gitea的配置文件为隧道地址8. 搞定在浏览器直接用穿透地址访问即可。使用 Docker 反向代理配合穿透无需公网 IP飞牛 OS 自带的反向代理需要公网 IP 或 DDNS 为前提对大多数家庭宽带用户不太友好。更通用的做法是在 Docker 上部署反向代理再配合 FRP 等内网穿透工具即使没有公网 IP 也能实现外网访问。这里推荐使用Nginx Proxy Manager有图形化管理界面配置证书、转发规则都很方便。1. 在飞牛 Docker 中安装 Nginx Proxy Manager打开飞牛的 Docker 管理界面或者通过 ssh 执行dockerrun-d\--namenginx-proxy-manager\--restartunless-stopped\-p8080:80\-p8443:443\-p8181:81\-v/vol1/docker/npm/data:/data\-v/vol1/docker/npm/letsencrypt:/etc/letsencrypt\jc21/nginx-proxy-manager:latest端口说明80是 HTTP 入口443是 HTTPS 入口81是管理后台。挂载路径/vol1/docker/npm/请按你的飞牛存储路径调整。2. 配置反向代理规则浏览器访问http://飞牛IP:8181默认账号adminexample.com密码changeme首次登录后修改。进入Hosts → Proxy Hosts点击Add Proxy HostDomain Names填写你将来要用的域名没有域名可以先填一个占位比如gitea.local。Forward Hostname / IP填写 Gitea 容器的内网地址一般是你的飞牛IP或gitea容器名。Forward PortGitea 的 Web 端口默认3000如果用应用中心安装一般是8418。保存后这条反代规则就生效了。内网访问http://飞牛IP:8080应该能看到 Gitea 页面。3. 配合 FRP 实现外网访问没有公网 IP 也能用反向代理只负责内部流量转发外网访问仍然要靠穿透。在 FRP 隧道中把远程端口的流量指向 Nginx Proxy Manager 的入口即可如果你想让外网通过 HTTP 访问FRP 远程端口 → 映射到飞牛的8080Nginx Proxy Manager 的 HTTP 入口。如果需要 HTTPSFRP 远程端口 → 映射到飞牛的8443并在 Nginx Proxy Manager 中配置 SSL 证书支持自动申请 Let’s Encrypt。这样一来整个链路就是外网 → FRP 隧道 → Nginx Proxy Manager → Gitea 容器全程不需要公网 IP。 如果你已经有公网 IP 或 DDNS直接把域名解析到飞牛然后在路由器上做端口映射到 Nginx Proxy Manager 的 80/443 端口即可连 FRP 都不需要。解决不需要登录直接操作的问题找到Gitea配置的文件夹修改配置文件。找到REQUIRE_SIGNIN_VIEW 修改为true。注意事项不要用敏感端口最好是选用10000以上的免得出现被封了的情况要用付费的比免费的好用不知道多少倍支持知识付费。