使用Docker自建轻量级仓库Gitea

前言

作为开发人员使用Git进行版本管理是必不可少的一部分,但似乎从去年开始,最大的代码仓库GitHub在大陆经常无法访问,又或者经常超时。但是国内哪些Git仓库站点如Gitee、coding等似乎对个人用户不太友好,至少我是用不习惯Gitee的。于是我有自建Git仓库的想法,但目前看来网上最流行的自建git无非就是GitLab,而GitLab对服务器的性能要求极高。作为个人开发者,一般情况下大多数人的选择是1c2g的服务器,很显然这个配置无法带动GitLab。
我发现了一款优秀的Git托管程序Gitea,它是基于Gogs衍生而来的,且使用Golang作为开发语言。在安装非常便捷,同时功能也够个人开发者使用,还能结合Drone实现CICD。

服务器准备

这里我使用一台全新的腾讯云轻量云服务器基于Docker安装。你需要登录腾讯云平台,进入轻量应用服务器控制台如下图。找到你的服务器,在更多菜单下选择重装系统(如果你不是新服务器,又或者服务器已经有数据了,请不要随意重装,请手动安装Docker)。并根据实际放行相应的端口。

安装Gitea代码托程序

创建Gitea所需的文件夹,并设置相关权限。

# 创建文件夹
sudo mkdir -p /opt/gitea
# 设置权限
sudo chmod 777 /opt/gitea
# 创建hosts文件
touch /opt/gitea/hosts
# 切换目录
cd /opt/gitea

执行下面的命令创建docker-compose.yaml文件。注意修改其中的30001和222为你自己规划的端口。USER_UID和USER_GID设置为当前用户的id,可以使用命令 id查询。

cat > docker-compose.yaml <version: "3"
networks:
  gitea:
    external: false
services:
  server:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
    restart: always
    networks:
      - gitea
    volumes:
      - ${PWD}:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
      - ${PWD}/hosts:/etc/hosts
    ports:
      - "3000:3000"
      - "222:22"
EOF

接下来执行命令启动gitea,如果没有报错信息,恭喜你已经安装成功了。

# 启动 终端关闭后服务停止
docker-compose up
# 后台启动服务
docker-compose up -d 

现在你可以使用浏览器访问部署服务的30001端口,会出现下面的界面。

请输入图片描述

点击上图右上角的登录按钮进入Gitea安装流程。如果你绑定有域名,你也可以将SSH 服务端口基础URL设置为你的域名,否则设置为服务器ip,最后点击立即安装按钮。如果在刚才的安装步骤中,你没有设置管理员账户,现在立即注册一个用户即可。

方法二:

docker pull gitea/gitea:latest
sudo mkdir -p /opt/gitea
docker run -d --name=gitea -p 10022:22 -p 3000:3000 -v /opt/gitea:/data gitea/gitea:latest
本文章由 brokenway 发布在 个人知识库 ,文章所述不代表本站观点,法律风险由发布者自行承担,转载请注明出处!
(0)
brokenway的头像brokenway
上一篇 2023年11月30日 17:24
下一篇 2023年12月11日 08:20

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注