官网:https://docs.gitea.io/zh-cn/
关于Gitea
Gitea 是一个自己托管的Git服务程序。他和GitHub, Bitbucket or Gitlab等比较类似。他是从 Gogs 发展而来,不过我们已经Fork并且命名为Gitea。对于我们Fork的原因可以看 这里。
上面一段话摘自官网
简单来说就是gitea
,就是一个git仓库,对于git 私服搭建一般国内一般有两种:
- gitea
- gitlab
但是前段时间我试了下gitlab,对于个人来说 ,实在是太臃肿了,资源耗费也特别庞大,这时候gitea
是
一个很好的选择,因为的硬件要求很低
系统要求
- 最低的系统硬件要求为一个廉价的树莓派
- 如果用于团队项目,建议使用 2 核 CPU 及 1GB 内存
功能特性
- 支持活动时间线
- 支持 SSH 以及 HTTP/HTTPS 协议
- 支持 SMTP、LDAP 和反向代理的用户认证
- 支持反向代理子路径
- 支持用户、组织和仓库管理系统
- 支持添加和删除仓库协作者
- 支持仓库和组织级别 Web 钩子(包括 Slack 集成)
- 支持仓库 Git 钩子和部署密钥
- 支持仓库工单(Issue)、合并请求(Pull Request)以及 Wiki
- 支持迁移和镜像仓库以及它的 Wiki
- 支持在线编辑仓库文件和 Wiki
- 支持自定义源的 Gravatar 和 Federated Avatar
- 支持邮件服务
- 支持后台管理面板
- 支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 TiDB(MySQL) 数据库
- 支持多语言本地化(21 种语言)
- 支持软件包注册中心(Composer/Conan/Container/Generic/Helm/Maven/NPM/Nuget/PyPI/RubyGems)
安装
这里选择docker,如果对docker操作不熟悉,可以看这里
docker-compose需要安装,参考这里
官网地址:https://docs.gitea.io/zh-cn/install-with-docker/
这里直接选择mysql数据库
gitea + mysql 安装
创建docker-compose.yml
vi docker-compose.yml
写入下面的内容
version: "3"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:latest
container_name: gitea
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:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
db:
image: mysql:8
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
volumes:
- ./mysql:/var/lib/mysql
启动
后台启动,服务会自动根据docker-compose.yaml
,进行创建
docker-compose up -d
如图启动成功
# 查看是否正常启动
docker-compose ps
# 查看启动日志
docker-compose logs
访问测试
默认是3000端口,如我的主机ip是 192.168.176.100,那访问就是
http://192.168.176.100:3000
进来就是初始配置了
配置安装
注意:这里的初始配置很重要,如果配置错误需要删掉 gitea 和 mysql的存储卷重新配置
修改一般设置中的站点名称,SSH 服务域名,基础URL,改为自己的
设置管理员账号
安装完了,之后会默认跳转到http://192.168.176.100:3000/
新建仓库
可以选择创建一个新的,也可以选择从其他地址迁移,这里新建一个
可以看到仓库已经创建了
git clone 测试
复制上面的链接,执行clone命令
git clone http://192.168.176.100:3000/root/test.git
clone
成功
git push 测试
随便创建一个文件,执行
git add .
git commit -m "测试 gitea push"
git push origin master
期间会让你输入用户名和密码,直接输入root用户的即可