使用gitea搭建源码管理【0到1架构系列】

使用开源搭建Git源码方案,gitlab和gitea是两个不错的方案,gitlab以前简单易用,现在功能复杂且对开源并不友好,gitea一直保持功能单一易用且完全开源,个人推荐gitea。

通过容器安装比较简单易用,使用镜像加速器拉取或许更快些。

docker pull gitea/gitea

gitea需要数据库储存,可以选择mysql,postgres,默认已经事先搭建mysql数据库作用储存。

在主机创建文件夹来做数据卷。

mkdir giteaData

给权限(或者不给)

chmod 755 /giteaData

编写docker-compose.yml文件,使用docker命令也行,主要是参数比较多,使用docker-compose.yml更方便管理。

version: "3"
services:
server:
image: gitea:latest
container_name: gitea
environment:
- GITEA_DATABASE_TYPE=mysql #选择mysql
- GITEA_DATABASE_HOST=192.168.3.116 #数据库IP地址
- GITEA_DATABASE_PORT_NUMBER=3306 #数据库端口
- GITEA_DATABASE_NAME=gitea #数据库名称
- GITEA_DATABASE_USERNAME=root #数据库账号
- GITEA_DATABASE_PASSWORD=123 #数据库密码
restart: always
volumes:
- /giteaData/git:/data/git/repositories #git数据卷,可以指定数据路径
- /giteaData/ssl:/data/ssl #配置HTTPS证书
- /etc/timezone:/etc/timezone:ro #同步时区
- /etc/localtime:/etc/localtime:ro #同步本地时间
ports:
- "3000:3000"

启动容器

docker-compose up -d

容器启动就初始化成功,访问网址:http://192.168.3.76:3000

创建一个仓库,然后同步代码上去。

同步代码之后可以通过配置Web钩子,来实现CI功能。

默认使用WebHook被禁止向其它域名发起Hook,需要配置

docker cp 7bbaf5e2864e:/data/gitea/conf/app.ini /root/app.ini

编辑app.ini文件,填写允许的主机。

[webhook]
ALLOWED_HOST_LIST = 192.168.3.* #充许向这个IP段发送webhook
[server]
PROTOCOL = https
ROOT_URL = https://git.example.com:3000/ #域名
HTTP_PORT = 3000 #端口
CERT_FILE = cert.pem #证书
KEY_FILE = key.pem #证书
[service]
DISABLE_REGISTRATION = true #禁止开放注册,设为true之后,由管理员后台添加账号

将文件拷回容器,重启

docker cp /root/app.ini 7bbaf5e2864e:/data/gitea/conf/app.ini
docker-compose restart

更多系列文章

构建高性能,可伸缩,高可用,安全,自动化,可溯源,整体式应用构架体系

posted @   老猿新码  阅读(238)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示