1、gitea与gitlab的对比

前提:之前公司常用的是gitlab,现在看了一下已经被极狐代理的,感觉没有了之前的开放性,在网上看了一下开源代码仓库,发现gitea好像也很不错,下面贴一下gitea与其他开源仓库的区别。

主流git开源工具对比

特性

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、安装过程

贴一下官网安装文档地址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