本文最后更新于 2024-06-29,文章可能存在过时内容,如有过时内容欢迎留言或者联系我进行反馈。

前言

本教程基于绿联的NAS设备DX4600 Prodocker功能进行搭建,采用Gitea+ MySQL实例作为演示。

简介

Gitea 是一个开源的 Git 服务软件,旨在提供一个轻量级、易于安装和使用的自托管Git服务。它是用 Go 语言编写的,这意味着 Gitea 能够在多种平台上运行,包括 Windows、macOS、Linux 和 ARM 设备等。Gitea 的设计哲学是保持简单和高效,同时提供必要的特性来支持团队协作和代码管理。

主要特点:

  • 开源和自由:Gitea 是完全开源的,遵循 MIT 许可证,允许用户自由使用、修改和分发。

  • 轻量级和高性能:由于用 Go 语言编写,Gitea 在性能上表现出色,即使是在低端硬件上也能运行得很好。

  • 易于安装和配置:Gitea 提供了多种安装选项,包括预编译的二进制文件、Docker 容器和源代码安装。它的配置过程也非常直接。

  • 内置 Web 界面:Gitea 提供了一个易于使用的 Web 界面,用于仓库管理、PR(Pull Request)管理、问题跟踪和维基功能。

  • 支持多用户和团队协作:Gitea 支持多用户注册和管理,允许团队成员之间的有效协作。

  • 可扩展性:Gitea 支持 Webhooks 和 REST API,允许开发人员扩展其功能和与其他服务集成。

  • 安全性:Gitea 提供了多项安全特性,包括 HTTPS 支持、用户权限管理和第三方身份验证集成等。

适用场景:

Gitea 特别适合需要自托管 Git 服务的小型至中型团队,以及个人开发者寻找轻量级代码托管解决方案的情况。它的轻量级特性也使得它成为在有限硬件资源上部署 Git 服务的理想选择。

部署

  1. 打开Docker管理器,在“镜像管理”中选择“镜像仓库”,在右上角进行搜索“gitea/gitea​​”,找到如下图所示的镜像进行下载。

  2. 下载完成以后,在“本地镜像”中找到它,点击“创建容器”。

  3. 勾选“创建后启动容器”,然后直接点击“下一步”。

  4. 将“基础设置”中的重启策略配置成“容器退出时总是重启容器”。

  5. 在NAS中创建一个目录,用于保存gitea的配置和数据,在“存储空间”内与容器的/data​目录建立映射,并配置为“读写”类型。

  6. 在“端口设置”中进行端口配置,“本地端口”指的是我们实际访问时要用到的端口,可以根据自己喜好进行配置,只要不与其他服务的端口有冲突就行。

    此处演示时使用的是“自动”端口,如不清楚端口是否被占用则默认自动即可。

  7. 在“环境”中,点击“添加”,增加七行,配置好后,点击“下一步”。

    • 名称USER_UID​,1000

      在容器内运行 Gitea 的用户的 GID(Unix 组 ID)。如果使用主机卷,则将其与 /data​ 卷的所有者的 GID 匹配(对于命名卷,则不需要这样做)。

    • 名称USER_GID​,1000

      在容器内运行 Gitea 的用户的 GID(Unix 组 ID)。如果使用主机卷,则将其与 /data​ 卷的所有者的 GID 匹配(对于命名卷,则不需要这样做)。

    • 名称GITEA__database__DB_TYPE​,{databaseType}​

      databaseType:正在使用的数据库类型[mysql,postgres,mssql,sqlite3]

    • 名称GITEA__database__HOST​,{databaseHost}​

      databaseHost:数据库主机地址和端口

    • 名称GITEA__database__NAME​,{databaseName}​

      databaseName:数据库名称

    • 名称GITEA__database__USER​,{databaseUser}​

      databaseUser:数据库登录用户名

    • 名称GITEA__database__PASSWD​,{databasePassword}​

      databasePassword:数据库用户密码

  8. 完成以上步骤后,检查一下,确认无误后直接点击“完成”。

  9. 在“容器管理”中找到刚创建好的容器,点击“详情”。

    演示时与“容器端口”绑定的“本地端口”使用的是自动​,如果你不是使用的自动​,可以忽略此步骤,直接在浏览器中输入你的ip和你自定义的本地端口进行访问即可。

  10. 点击“端口”,点击下图所示链接即可打开我们部署好的gitea。

    演示时与“容器端口”绑定的“本地端口”使用的是自动​,如果你不是使用的自动​,可以忽略此步骤,直接在浏览器中输入你的ip和你自定义的本地端口进行访问即可。

  11. 打开链接后,显示下图所示即表示搭建成功。

使用

请参照官方文档 Gitea Doc(https://docs.gitea.com/zh-cn/category/usage