【nas专栏】用私有云 nas 搭建 gitea 仓库的快乐你不懂

阅读提示:在我之前的 文章 介绍了如何搭建一个自己的私有云nas服务的思路和方法。本文对自己有 nas 私有云或者服务器,并且有docker的胖友帮助可能更多,其它胖友可以选择性观看

背景

对于开发人员来说,最重要的莫过于自己写的代码(质量咱先不说)。虽然现在有很多的的代码托管平台,比如:github、gitee、coding、aliyun…

但是!!

最终你的代码都是放在别人家的服务器上,虽然大公司大平台理论不会出现什么意外,但是由于国内的政策,指不定哪天你的代码由于某某政策就被封了,又或者是公司运维是个实习生,一不小心把 mv 写成了 rm -rf

所以代码掌握在别人手里,你永远没有主动权,国内某某云盘和谐视频资源就是一个很好的例子。人家想怎么样你没得选。只能任人鱼肉!!!

我一个老油条开发哪能受的了这委屈,就开始想着用我 nas 上的 docker 镜像本地部署一套。

文章大纲

  1. 介绍
  2. 环境配置
  3. gitea 搭建
  4. 迁移项目到 gitea
  5. 总结
  6. 其它

1. 介绍

gitea 是目前市面上非常轻量化的代码管理仓库,它的优势主要有:

  1. 安装和配置简单:可视化界面部署

  2. 性能强,速度快:底层用的 go 编写

  3. 兼容性好:完全兼容 git

  4. 占用内存超级小:到底有多小呢,看下图

    image-20240829105415239

我转头看看 gitlab 快3个G的安装大小,这还要什么自行车,四舍五入一下等于不占内存,果断选择gitea。

  1. 拓展性强:企业和个人都可以根据需要自己添加拓展

2. 环境配置

本文会以黑群晖的 docker 方案为主。(理论有 docker 的服务器方法也是一样的。)
所以胖友首先你得先大概了解群晖,后面看起来不会那么吃力。

2.1 前期准备

在 docker container 安装gitea 和 gitea-runner 两个镜像文件:

image-20240829105441423

2.2 创建docker用户组

image-20240829105505710

  1. 打开控制面板 - 进入用户与群组
  2. 新增群组
  3. 自定义群组名称,我这里是docker
  4. 给 docker 群组分配 docker 文件夹的权限
  5. 一直点下一步,直至生效

2.3 添加 gitea 账号

image-20240829105527930

和上面用户群组的操作基本一致,区别是在【用户群组】那把 docker 的群组权限给这个新创建的 gitea 用户。然后一直默认下一步即可。

至此,基本的环境配置已经完成,开始装机。

3. gitea 搭建

进入 docker container 运行上文下载的镜像文件。(下文中我的镜像是运行中,所以是不可编辑状态,不影响安装流程)

image-20240829105540884

3.1 给镜像实例命名

image-20240829105552073

3.2 端口和文件映射

image-20240829105605716

其中前面是本地服务器映射路径,后面是容器内的映射:

  1. 4122 映射 gitea 容器的 ssh 免密登录端口
  2. 4100 映射 gitea 容器的服务端口
  3. /docker/gitea 映射容器的 /data 文件夹,用来存储 gitea 服务的数据(/docker/gitea 这个路径可以自定义更改)
  4. /docker/gitea/repositories 映射容器的 /data/git/repositories 文件夹,里面是所有的git仓库地址(/docker/repositories 这个路径可以自定义更改)

3.3 环境变量映射

image-20240829105620231

  • USER:填写上文创建的那个账号,我这里是:gitea
  • GITEA_CUSTOM:这个默认就好
  • USER_UID: 执行以下命令获取
  • USER_GID:执行以下命令获取
1
2
devlifestyle:~$ id gitea
uid=1029(gitea) gid=100(users) groups=100(users),65538(docker)

其它参数都不用改,直接默认下一步启动就可以了。

3.4 配置 gitea

容器启动后,访问 http://ip:4100 进入 Gitea 的配置页面。

image-20240829105649654

确认无误后点击确认,即可进入gitea界面

image-20240829105702810

4. 迁移其它仓库项目

gitea 支持其它仓库一键同步的功能,目前主流的 git 仓库平台都是支持的,即使不支持,只要符合git规范的也可以迁移过来。只是不能批量迁移,你只能手动一个个去拉取。

image-20240829105714915

5. 总结

本篇文章写到这,其实发现如果是自己有个服务器,有docker 不是nas环境也是可以使用的

如果从个人角度出发,加上你自己的服务器配置不高,我是不建议安装 gitlab 的,光快 3G 的内存不说,其实里面的很多功能你这辈子也用不上。写个前后端项目,然后用 gitea action 自动部署,有的时候几个人一起协同写个项目,整个工作流都很丝滑,完全够用。

下篇文章我介绍一下怎么接入 gitea action 实现自动部署,让你解放双手,只需推送代码,即可享受即推即用的快乐。还不了解 gitea action 是啥的朋友可以去看看我之前写的《通过 gitHub Action 自动发布博客文章》,原理是一样的。

6. 其它

希望我的分享能帮到你。

dev,一个艺术家,非传统前端架构师,坚持健身(一周三练)、在学 popping,会🎸、会📹、会🎨、喜欢自驾看世界,爱思考,爱生活。梦想40岁退休。
个人博客

全网唯一ID: dev的艺术空间

【nas专栏】用私有云 nas 搭建 gitea 仓库的快乐你不懂

http://blog.jiangzhixiong.com/20240730/20240730-nas_gitea/

作者

dev

发布于

2024-07-30

更新于

2024-09-18

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×