绿联NAS搭建私有Gitea代码仓库(完美解决Docker镜像拉取超时)本地代码上传全套教程

💡 前言:很多小伙伴想用绿联NAS搭建私人代码仓库,替代GitHub、Gitee公共仓库,实现代码本地私有存储、版本管理。但90%的人第一步就踩坑:Docker拉取Gitea镜像超时、境外仓库无法访问。

本文提供绿联NAS专属、亲测可用的全套部署方案,彻底解决 dockerCli.ImagePull 镜像拉取超时 问题,从环境准备、镜像加速、Gitea部署、仓库创建到本地代码上传,全程傻瓜式操作,新手零门槛。

适用设备:全系列绿联NAS(UGOS / UGOS Pro系统)

核心实现:Docker部署Gitea轻量私有Git仓库,本地代码一键上传至NAS私有存储

一、问题报错解析(你遇到的坑)

1.1 完整报错信息

failed to download image gitea/gitea:latest. error: dockerCli.ImagePull(gitea/gitea:latest): Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

附加提示:这是一个境外网页,当前无法访问,请尝试其他网页

Docker默认使用境外官方镜像仓库,国内网络无法直连,导致连接超时、镜像下载失败,并非NAS配置错误。只需配置国内镜像源即可完美解决。

二、NAS前期环境准备

2.1 基础环境检查

  • 绿联NAS已开启Docker应用(应用中心直接安装即可)

  • 设置NAS为静态局域网IP(避免IP变动导致仓库无法访问)

  • 可选:控制面板开启SSH服务,方便后期运维排错

2.2 创建Gitea数据持久化目录

为防止容器重启、更新后数据丢失,提前在NAS存储卷创建专属目录,进入NAS【文件管理】,在volume1下新建三个目录:

  • /volume1/gitea(根目录)

  • /volume1/gitea/data(代码仓库数据)

  • /volume1/gitea/log(日志文件)

三、核心解决:Docker镜像加速(永久解决拉取超时)

这是本文最关键步骤,配置后后续所有Docker镜像均可秒拉取,一劳永逸。

3.1 操作步骤

  1. 打开绿联NAS Docker面板,点击右上角设置按钮

  2. 找到【镜像仓库/仓库镜像】配置项

  3. 批量添加以下国内稳定镜像源(全部复制粘贴)

https://docker.mirrors.ustc.edu.cn
https://hub-mirror.c.163.com
https://mirror.baidubce.com

以下是配置镜像加速的功能截图
在这里插入图片描述
在这里插入图片描述

  1. 保存配置,重启Docker服务

  2. 重启完成后,即可正常拉取Gitea镜像

3.2 临时极速方案(无需改配置)

若不想修改全局配置,可直接使用国内反代镜像下载,Docker镜像仓库手动输入地址:

dockerhub.azk8s.cn/gitea/gitea:latest

四、Docker部署Gitea私有代码仓库

推荐使用Compose一键部署,配置更规范、不易出错,新手首选。

4.1 新建Compose容器

  1. NAS Docker面板 → 容器 → 新建容器

  2. 切换至【Compose模式】,清空默认内容,粘贴以下完整配置

version: "3"
services:
  gitea:
    image: gitea/gitea:latest
    restart: always
    ports:
      - "3000:3000"   # Gitea网页访问端口
      - "222:22"      # Git SSH端口,避免与NAS22端口冲突
    volumes:
      - /volume1/gitea/data:/data
      - /volume1/gitea/log:/var/log/gitea
    environment:
      - PUID=1000
      - PGID=100
  1. 点击应用,容器自动下载镜像并启动,全程无需手动干预

4.2 Gitea网页初始化配置

  1. 浏览器访问:http://你的NAS局域网IP:3000

  2. 首次安装配置(新手直接照搬):

    • 数据库类型:选择 SQLite3(无需额外部署数据库,个人使用完全足够)

    • 仓库根路径:/data/git-repos

    • 管理员账号:自定义用户名、密码(务必牢记)

    • 应用URL:http://你的NASIP:3000

  3. 点击【安装】,等待10秒自动跳转登录页面,登录管理员账号

五、创建私有仓库+上传本地代码

5.1 Gitea新建私有仓库

  1. Gitea后台右上角【+】→ 新建仓库

  2. 自定义仓库名称,可见性选择私有(核心!仅自己可见)

  3. 勾选【初始化仓库】,点击创建

5.2 本地电脑前置配置

本地电脑提前安装Git工具,打开Git Bash终端,执行全局配置(与Gitea账号一致):

# 配置用户名(你的Gitea登录用户名)
git config --global user.name "自定义用户名"
# 配置邮箱
git config --global user.email "你的邮箱"

5.3 两种代码上传方式

方式一:已有本地项目,上传至NAS私有仓库(常用)
# 进入本地项目根目录
cd 你的本地项目路径

# 初始化git仓库(未初始化过执行)
git init

# 添加所有文件到暂存区
git add .

# 提交代码
git commit -m "首次提交:本地代码同步至NAS私有仓库"

# 关联NAS Gitea远程仓库(替换为你的NASIP、用户名、仓库名)
git remote add origin git@192.168.1.100:222/管理员用户名/仓库名.git

# 推送代码到远程仓库
git push -u origin master:main
方式二:克隆NAS仓库到本地,后续迭代开发
# 克隆私有仓库到本地
git clone git@192.168.1.100:222/用户名/仓库名.git

# 进入项目目录,日常更新提交
cd 仓库名
git add .
git commit -m "代码更新"
git push

5.4 SSH免密配置(无需每次输密码)

  1. 本地终端生成SSH密钥,全程回车默认即可:ssh-keygen -t rsa

  2. 查看公钥:cat ~/.ssh/id_rsa.pub,复制全部内容

  3. Gitea后台 → 个人设置 → SSH密钥 → 粘贴保存

  4. 配置完成后,推拉代码无需输入密码

六、日常使用与优化建议

  • 局域网访问NASIP:3000,速度极速,秒开秒推拉代码

  • 外网访问:路由器端口映射3000、222端口,或使用绿联内网穿透

  • 数据备份:定期备份NAS中/volume1/gitea/data目录,杜绝代码丢失

  • 权限安全:仓库设置为私有,仅授权账号可访问,代码绝对私密

七、常见问题排查

  • 镜像拉取失败:确认已配置国内镜像源,重启Docker后重试,检查端口是否被占用

  • 代码推送权限拒绝:检查SSH密钥是否配置正确,或临时使用HTTPS地址登录推送

  • 无法访问Gitea页面:关闭NAS、路由器防火墙,放行3000、222端口

八、总结

1. 绿联NAS Docker拉取镜像超时,本质是境外仓库网络不通,配置国内镜像源即可彻底解决;

2. Gitea轻量无负担,适合个人、小型团队搭建私有代码仓库,数据完全自留,安全性远超公共代码托管平台;

3. 全程部署简单,配置持久化目录+自启动策略,一次部署永久使用,完美实现本地代码私有托管。

欢迎点赞收藏,解决NAS部署代码仓库踩坑问题,后续持续更新NAS私有服务搭建教程!

(注:文档部分内容可能由 AI 生成)

更多推荐