Py学习  »  Git

极易搭建的自助Git服务Gogs

各种折腾 • 4 月前 • 104 次点击  

简介

什么是 Gogs ?

Gogs 是一个轻量级、自托管的 Git 服务,旨在提供简单、高效的 Git 版本控制解决方案。它允许用户在自己的服务器上快速部署 Git 仓库,便于团队协作和代码管理。使用  Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的所有平台,包括 LinuxmacOSWindows 和基于 ARM 的操作系统。

主要特点

  1. 易于安装: 用户只需运行适合其平台的二进制文件,或通过 DockerVagrant 等工具进行部署。
  2. 跨平台支持Gogs 可以在多种操作系统上运行,包括 WindowsMacLinux 和  ARM 等。
  3. 轻量级Gogs 的最低系统要求非常低,可以在 Raspberry Pi 等低配置设备上运行,甚至一些用户在 NAS 设备上也能成功部署。
  4. 开源免费Gogs 是 100% 开源的,遵循 MIT 许可证,源代码可在  GitHub 上获取,用户无需支付费用即可使用。

应用场景

  • 团队协作Gogs 适合开发团队用于管理代码和项目,提供版本控制和协作功能。
  • 私有项目托管: 适合需要在内部网络中托管代码的企业和开发者,确保数据安全。
  • 轻量级解决方案: 对于资源有限的环境(如小型服务器或单板计算机),Gogs 提供了一个经济实惠的 Git 解决方案。

Gogs 以其简洁和高效的特性,成为了许多开发者和团队的理想选择。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 gogs ,选择第一个 gogs/gogs,版本选择 latest

本文写作时, latest 应该是   0.13.2 之后的版本;

从软件界面看是 0.14.0+dev

在 docker 文件夹中,创建一个新文件夹 gogs ,并在其中建一个子文件夹 data

文件夹
装载路径
说明
docker/gogs/data/data 
存放数据,包括仓库和配置文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口
容器端口
说明
32343000
主服务端口,用于访问 Gogs 的 Web 界面
322222
用于 SSH 访问,以便通过 Git 协议进行代码推送和拉取

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷




    
# 新建文件夹 gogs 和 子目录
mkdir -p /volume1/docker/gogs/data

# 进入 gogs 目录
cd /volume1/docker/gogs

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name gogs \
   -p 3234:3000 \
   -p 3222:22 \
   -v $(pwd)/data:/data \
   gogs/gogs:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
gogs:
    image:gogs/gogs:latest
    container_name:gogs
    restart:unless-stopped
    ports:
      -"3234:3000"
      -"3222:22"
    volumes:
      -./data:/data

然后执行下面的命令

# 新建文件夹 gogs 和 子目录
mkdir -p /volume1/docker/gogs/data

# 进入 gogs 目录
cd /volume1/docker/gogs

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3234 就能看到向导界面

既然是简易,数据库就选择 SQLite3

修改

  • 域名: 填写 Docker 主机的主机名或 IP 地址,将默认的  localhost 改为 192.168.0.197
  • 应用 URL:填写公开的访问地址,将默认的 http://localhost:3000/  改为  http://192.168.0.197:3234/

如果要启用 SSH 协议,要将 SSH 端口 改为 3222

点 立即安装

完成之后,会显示登录界面

第一次需要先注册

登录成功后的主界面

接下来就可以创建仓库了

如果是管理员,可以进入管理面板

参考文档

gogs/gogs: Gogs is a painless self-hosted Git service
地址:https://github.com/gogs/gogs

Gogs: A painless self-hosted Git service
地址:https://gogs.io/

gogs/gogs - Docker Image | Docker Hub
地址:https://hub.docker.com/r/gogs/gogs

@所有人:写文不易,如果你都看到了这里,请点个在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/183826