gitea的介绍和安装过程

Evan
Evan
发布于 2025-05-07 / 22 阅读
0

1、gitea与gitlab的对比

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

特性GiteaGogsGitHub EEGitLab CEGitLab EEBitBucketRhodeCode 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