【Docker】搭建一个轻量级项目代码管理平台 - Gitea
前言
本教程基于绿联的NAS设备DX4600 Pro的docker功能进行搭建,采用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 服务的理想选择。
部署
打开Docker管理器,在“镜像管理”中选择“镜像仓库”,在右上角进行搜索“
gitea/gitea
”,找到如下图所示的镜像进行下载。下载完成以后,在“本地镜像”中找到它,点击“创建容器”。
勾选“创建后启动容器”,然后直接点击“下一步”。
将“基础设置”中的重启策略配置成“容器退出时总是重启容器”。
在NAS中创建一个目录,用于保存gitea的配置和数据,在“存储空间”内与容器的
/data
目录建立映射,并配置为“读写”类型。在“端口设置”中进行端口配置,“本地端口”指的是我们实际访问时要用到的端口,可以根据自己喜好进行配置,只要不与其他服务的端口有冲突就行。
此处演示时使用的是“
自动
”端口,如不清楚端口是否被占用则默认自动
即可。在“环境”中,点击“添加”,增加七行,配置好后,点击“下一步”。
名称:
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:数据库用户密码
完成以上步骤后,检查一下,确认无误后直接点击“完成”。
在“容器管理”中找到刚创建好的容器,点击“详情”。
演示时与“容器端口”绑定的“本地端口”使用的是
自动
,如果你不是使用的自动
,可以忽略此步骤,直接在浏览器中输入你的ip和你自定义的本地端口进行访问即可。点击“端口”,点击下图所示链接即可打开我们部署好的gitea。
演示时与“容器端口”绑定的“本地端口”使用的是
自动
,如果你不是使用的自动
,可以忽略此步骤,直接在浏览器中输入你的ip和你自定义的本地端口进行访问即可。打开链接后,显示下图所示即表示搭建成功。
使用
请参照官方文档 Gitea Doc(https://docs.gitea.com/zh-cn/category/usage)
文章出处:https://blog.uptoz.cn/archives/e8kC0nJT
作者原创:@小小笔记大大用处 https://blog.uptoz.cn