## 关于Gitea Gitea 是一个自己托管的Git服务程序。他和GitHub, Bitbucket or Gitlab等比较类似。他是从 [Gogs](http://gogs.io/) 发展而来,Gitea 是一个开源社区驱动的轻量级代码托管解决方案,采用 MIT 许可证。极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。并且他还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构,除了x86,amd64,还包括 ARM 和 PowerPC。 ## 系统要求 - 最低的系统硬件要求为一个廉价的树莓派 - 如果用于团队项目,建议使用 2 核 CPU 及 1GB 内存 ## [功能特性](https://docs.gitea.io/zh-cn/#%E5%8A%9F%E8%83%BD%E7%89%B9%E6%80%A7) - 支持活动时间线 - 支持 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) ## 安装 ### 安装环境依赖 gitea 依赖于docker和docker-compose #### 安装docker 安装所需的安装包yum-utils: ```sh yum install -y yum-utils ``` 添加yum源 ```sh yum -y update #设置镜像仓库地址 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #更新yum软件包索引 yum makecache fase ``` 查看可用版本 ```sh yum list docker-ce --showduplicates | sort -r ``` 安装docker社区版和社区办对应的cli工具已经依赖 ```sh yum install -y docker-ce docker-ce-cli containerd.io ``` 启动 Docker 并设置开机自启 ```sh systemctl start docker systemctl enable docker ``` 添加镜像源地址 ``` tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://uyah70su.mirror.aliyuncs.com"] } EOF ``` 重新启动 Docker 服务 ``` systemctl daemon-reload && sudo systemctl restart docker ``` 验证配置是否生效 ``` docker info | grep Mirrors -A1 ``` #### 安装docker-compose 安装epel源 ``` yum install -y epel-release ``` 安装docker-compose ``` yum install -y docker-compose ``` ### 安装gitea 安装参考链接:[使用 Docker 安装 - Docs](https://docs.gitea.io/zh-cn/install-with-docker/ "使用 Docker 安装 - Docs") 最简单的设置只是创建一个卷和一个网络,然后将 `gitea/gitea:latest` 镜像作为服务启动。由于没有可用的数据库,因此可以使用 SQLite3 初始化数据库。创建一个类似 `gitea` 的目录,并将以下内容粘贴到名为 `docker-compose.yml` 的文件中。 ``` version: "3" networks: gitea: external: false services: server: image: gitea/gitea:1.16.7 container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 restart: always networks: - gitea volumes: - /home/data:/data # /home/data可以替换成你想要的挂载目录 - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "3030:3000" # 3030可以替换成你想要的端口 - "322:22" # 322可以替换成22 ``` 在后台启动 ``` docker-compose up -d ``` ### 配置gitea 访问:[http://server-ip:3030](http://server-ip:3030/ "http://server-ip:3030") 设置域名访问地址等信息 ![Snipaste_2022-08-07_13-45-57.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9d7fd177f43c4dd7b4841a4621755b72~tplv-k3u1fbpfcp-zoom-1.image) 设置管理员账号密码 ![Snipaste_2022-08-07_13-49-05.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e3ef5d88604c4eec8e890cc316f2307d~tplv-k3u1fbpfcp-zoom-1.image) 点击安装后,系统安装完毕会自动登录