1、gitea与gitlab的对比
之前公司常用的是gitlab,现在看了一下已经被极狐代理的,感觉没有了之前的开放性,在网上看了一下开源代码仓库,发现gitea好像也很不错,下面贴一下gitea与其他开源仓库的区别
特性 | Gitea | Gogs | GitHub EE | GitLab CE | GitLab EE | BitBucket | RhodeCode CE |
---|---|---|---|---|---|---|---|
开源免费 | ✓ | ✓ | ✘ | ✓ | ✘ | ✘ | ✓ |
低资源开销 (RAM/CPU) | ✓ | ✓ | ✘ | ✘ | ✘ | ✘ | ✘ |
支持多种数据库 | ✓ | ✓ | ✘ | ⁄ | ⁄ | ✓ | ✓ |
支持多种操作系统 | ✓ | ✓ | ✘ | ✘ | ✘ | ✘ | ✓ |
升级简便 | ✓ | ✓ | ✘ | ✓ | ✓ | ✘ | ✓ |
可观测性 | ✘ | ✘ | ✓ | ✓ | ✓ | ✓ | ? |
支持第三方渲染工具 | ✓ | ✘ | ✘ | ✘ | ✘ | ✓ | ? |
WebAuthn (2FA) | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ? |
扩展 API | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
内置软件包/容器注册中心 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
同步提交到外部仓库 (push mirror) | ✓ | ✓ | ✘ | ✓ | ✓ | ✘ | ✓ |
同步外部仓库的提交 (pull mirror) | ✓ | ✘ | ✘ | ✓ | ✓ | ✘ | ? |
浅色和深色主题 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ? |
自定义主题支持 | ✓ | ✓ | ✘ | ✘ | ✘ | ✓ | ✘ |
支持 Markdown | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
支持 CSV | ✓ | ✘ | ✓ | ✘ | ✘ | ✓ | ? |
Git 驱动的静态 pages | ⚙️, ⚙️ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
Git 驱动的集成化 wiki | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ (cloud only) | ✘ |
部署令牌 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
仓库写权限令牌 | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✓ |
RSS Feeds | ✓ | ✘ | ✓ | ✘ | ✘ | ✘ | ✘ |
内置 CI/CD | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
子组织:组织内的组织 | ✘ | ✘ | ✘ | ✓ | ✓ | ✘ | ✓ |
多实例交互 | / | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ |
Markdown 绘图 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
Markdown 数学公式 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
2、下面开始安装gitea,使用docker的方式
贴一下官网安装文档地址https://docs.gitea.com/zh-cn/installation/install-with-docker
由于gitea的安装需要关联数据库,mysql又是比较常用的数据之一,所以这里使用的mysql的方式进行安装
version: "3" #现在使用docker-compose安装好像不需要version了
networks:
gitea:
external: false
#这里使用的是命名卷
volumes:
gitea:
driver: local
services:
server:
image: docker.gitea.com/gitea:1.23.7
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=db:3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__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: docker.io/library/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