简介
Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证.
中文首页: https://gitea.io/zh-cn/
Gitea 文档: https://docs.gitea.io/zh-cn/
官方安装教程见: install-with-docker
本文记述使用 docker 安装的方法。
Docker 安装 Gitea
该实践采用Docker-Compose 容器编排技术。
整个服务分为网络、Gitea 服务端和数据存储端三个组件。
其中网络组件使用 Docker 创建一个虚拟网络 gitea,Gitea 组件运行Gitea 服务;数据存储组件使用 MySQL。Gitea 服务组件与MySQL通过网络组件gitea 使用。
Docker-Compose 文件
在合适的目录(我的目录为:D:\apps-data\docker\git-lib
)创建 docker-compose.yml
文件。 docker-compose.yml
文件内容如下:
version: "3"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:latest
container_name: gitea-server
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=mysql
- DB_HOST=db:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=gitea
# restart: always
networks:
- gitea
volumes:
- D:/apps-data/docker/git-lib/data:/data
- D:/apps-data/docker/git-lib/etc/timezone:/etc/timezone:ro
- D:/apps-data/docker/git-lib/etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "2222:22"
depends_on:
- db
db:
image: mysql:8
container_name: gitea-mysql-server
# restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
ports:
- "3307:3306"
- "33070:33060"
volumes:
- D:/apps-data/docker/git-lib/mysql:/var/lib/mysql
docker-compose.yml
文件中依次编排了网络gitea,gitea 服务 gitea-server
和数据库服务 gitea-mysql-server
。
启动
打开 CMD 或者 PowerShell ,进入 docker-compose.yml
所在的文件夹(D:\apps-data\docker\git-lib
)。
运行如下命令:
docker-compose up -d
运行结果如下:
注意 镜像 gitea 和 mysql:8 是提前拉取到本地的,如过没有提前拉取,看到的信息将会增加拉取过程。
访问
如上服务启动成功后,即可访问gitea,默认地可以使用 localhost:3000 或 本地IP:3000的方式访问。
新部署的服务,第一次访问时,gitea 会提示进行初始化配置,具体配置见下章节。
初始化配置
初始化配置分为数据库设置、一般设置和可选设置三部分。
数据库设置
Gitea 支持的数据库类型有 MySQL、PostgreSQL、MSSQL、SQLLite3等多种数据库。本实践使用MySQL 数据库,因此选用 MySQL ,其他项配置值与 docer-compose.yml
中数据库配置保持一直即可。
** 注:** 数据库主机配置db:3306
, 此处是指 gitea-server 访问数据时会通过它们之间的网络直接使用 3306 访问,不必通过数据库服务暴露的 3307 来访问。
一般设置
一般设置用于设置 Gitea 服务端容器相关信息,可配置项如下所示。
- 站点名称: 可随意命名,如 Gitea-XZBD
- 服务器域名:默认为localhost,也可以是其他域名。公网环境下建议使用公网域名或着主机IP。如设置为:192.168.1.5
- SSH 服务端口:默认是 22 , 建议配置为
docker-compose.yml
中暴露的端口,如: 2222。 - HTTP 服务端口: 默认是 3000, 建议配置为
docker-compose.yml
中暴露的端口,如: 3000(注意是暴露的端口)。 - 基础 URL:服务器域名 和 HTTP 服务端口 真实值组合,格式为:http://服务器域名:HTTP 服务端口。如: http://192.168.1.5:3000
其他选项建议配置为默认。
配置完成后的信息如下:
可选设置
可选设置包含 电子邮箱设置、服务器和第三方服务设置、管理员账号设置三部分。配置界面如下:
其中管理员账号设置可选,若没有配置,安装完成后,第一个注册的账号就是管理员长账号。
立即安装
初始化配置完成后,点击 立即安装 ,等待安装完成。
安装完成后,页面会跳转到登录页面,页面如下
使用
以上即完成了 Gitea 的安装,本章节记述了 Gitea 的基本使用。
注册
前面安装过程中,没有设置管理员账号,安装完成后,还没有一个 Gitea 账号,因此要首先注册一个账号。
注意:第一个注册的账号将被设置为管理员账号
点击注册 或 ** 还没帐户?马上注册。** 跳转到注册页面,页面如下图所示。
注册成功后,Gitea 会自动登录,并跳转到用户的首页,如下
登录
退出后,访问登录页面。输入密码和用户名即可登录。
创建项目、组织
登录成功后,即可创建项目或组织。这部分内容与Github或GitLib一致,不再详细记述。
总结
本文介绍了 使用 Docker 部署 Gitea 的一个实践过程,其中选用了MySQL数据库,同时使用了 Docker-Compose 容器编排技术。