钧言极客钧言极客

钧言极客

基于宝塔面板 Docker 安装 Gitea

本文使用最新版本的宝塔面板、docker环境、Nginx用于反代、Debian 12

前言

为什么要自建git托管,众所周知在国内网络的环境的情况下,github已经不能正常的使用,有时候会出现断联的情况。国内的很多都有条条框框的限制,基于这个需求,为什么不自建属于自己的git托管。

首先我尝试了:gitea、gitlab、gogs 这三款软件,综合性能分析,日常使用 Gitea 能满足我的需求,内存占用也低,也轻量化。

Gitea简介

Gitea的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。我们采用Go作为后端语言,这使我们只要生成一个可执行程序即可。并且他还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构,除了x86,amd64,还包括 ARM 和 PowerPC。

官网文档地址:gitea DOCS

Gitea安装

首先在官网上找到 Docker Compose 的安装方式。

gitea rootlessgitea版本区别,前者是通过gitea内部的ssh进行管理,后者通过openSSH进行管理。

文档地址:使用 Docker 安装 (rootless)

然后在宝塔上添加docker 项目模板。如果是自行构建的也可以把新建的docker-compose.yml文件放在你想存放的目录下。

这里选择自行构建,先创建一个运行目录和docker-compose

mkdir -p gitea/{data,config}
cd gitea
vim docker-compose.yml

然后将以下内容粘贴到 docker-compose.yml 文件里面

version: "2"

services:
  server:
    image: gitea/gitea:1.20.5-rootless
    restart: always
    volumes:
      - ./data:/var/lib/gitea
      - ./config:/etc/gitea
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "2222:2222"

赋予指定docker卷的用户/组,默认情况下,Docker中的Gitea将使用uid:1000 gid:1000。

sudo chown 1000:1000 config/ data/

然后进入刚刚创建的gitea的目录,检查目录下有没有docker-compose.yml文件。确认存在就启动。

  • docker-compose up -d: 拉起docker-compose所包含服务,并以守护进程方式运行
  • docker-compose restart: 重启docker-compose所有服务
  • docker-compose down: 关闭docker-compose所有服务
  • docker-compose logs -f : 查看运行日志

以上是不使用数据库,只使用SQlite3来运行,如果数据量不大情况下SQlite3完全可以胜任,如果是多人协作,那就选择数据库会更加好。
更多安装详情去官网文档就可以找到。

Gitea使用

git客户端以ssh的方式访问

创建客户端的密钥和公钥,然后在gitea的个人设置-SSH/GPG密钥下,添加公钥。

cd
mkdir -p .ssh

#生成密钥对
ssh-keygen -t rsa

#查看公钥
cat ~/.ssh/id_rsa.pub

测试仓库到客户端链接

这里我自定义了ssh的端口所以要带上端口进行测试

ssh -T git@106.199.x.x -p 222
---------------------------------
Hi there, jun! You've successfully authenticated with the key named git@xx.com, but Gitea does not provide shell access.
If this is unexpected, please log in with password and setup Gitea under another user.

这样看起来就验证成功了,我们来拉取一个git库试试。仓库的http/ssh的地址可以在仓库页面右上角找到。

git clone ssh://git@106.199.x.x:222/Jun/test.git

反代网站

站点填写你的内网域名和端口,绑定域名进行访问,根据需求是否开启SSL。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《基于宝塔面板 Docker 安装 Gitea》
文章链接:https://www.jinjun.top/458.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 2

  1. Gitea比Gitlab轻量多,不过我是需要runner这功能~

    TeacherDu 2023年12月08日    回复
    • gita一样也有这个功能,插件也和github部分通用。可以了解一下

      钧言哥 2023年12月12日    回复