Gogs: 打造属于你自己的轻量级 Git 服务

简介: Gogs 是一个小而美的 Git 服务解决方案。无论你是想在个人服务器上搭建私有的代码仓库,还是为小团队提供一个轻量级的代码协作平台,Gogs 都是一个值得考虑的选择。

在软件开发的世界里,Git 已经成为版本控制的事实标准。GitHub、GitLab 等平台提供了强大的托管服务,但有时候,我们需要一个完全属于自己的私有 Git 仓库——可能是为了代码安全,可能是为了定制化需求,可能是为了集成到现有服务中,也可能只是想在自己的服务器上搭建一个个人代码库。开源gitlab有点重,最近我在GitHub上发现了一个轻量级项目Gogs

什么是 Gogs?

Gogs 是一个用 Go 语言编写的自助 Git 托管服务。它的目标是以最简单、最轻松的方式搭建一个简单、稳定且可扩展的 Git 服务。得益于 Go 语言的跨平台特性,Gogs 可以在 Linux、macOS、Windows 以及基于 ARM 的系统上以独立的二进制文件运行。

该项目在github上已有47.5k star

github地址:https://github.com/gogs/gogs

文档地址: https://gogs.io/

为什么选择 Gogs?

轻量级,低资源占用

Gogs 最吸引人的特点就是轻量。有人在仅有 64MB 内存的 Docker 容器中运行 Gogs!对于团队协作,2 个 CPU 核心和 512MB 内存就足够起步了。

功能丰富,不输大厂

别看 Gogs 轻量,该有的功能一个都不少:

  • 用户面板:用户仪表板、个人资料和活动时间线
  • 多协议访问:支持 SSH、HTTP 和 HTTPS 协议访问仓库
  • 完整的管理功能:用户、组织和仓库管理
  • Webhook:支持 Slack、Discord、钉钉等
  • Git 钩子:Git hooks、部署密钥和 Git LFS
  • 协作功能:工单(Issues)、合并请求(Pull Requests)、Wiki、受保护分支
  • 仓库迁移:从其他代码托管平台迁移和镜像仓库
  • Web 编辑器:在线编辑仓库文件和 Wiki
  • 多格式渲染:支持 Jupyter Notebook 和 PDF 渲染
  • 多认证方式:SMTP、LDAP、反向代理、GitHub.com、GitHub Enterprise,支持两步验证
  • 多语言支持:超过 31 种语言的本地化

数据库支持丰富

Gogs 支持多种数据库后端:PostgreSQL、MySQL、SQLite3,以及任何支持这些协议的数据库。

Docker 部署:5 分钟快速上手

以下是Docker具体的部署步骤:

第一步:拉取镜像

docker pull gogs/gogs

第二步:创建docker-compose.yml文件

创建一个部署目录gogs,在该目录下创建docker-compose.yml文件,内容如下:

services:
  gogs:
    image: gogs/gogs
    container_name: gogs
    ports:
      - "10022:22"
      - "10880:3000"
    volumes:
      - ./data:/data
    restart: unless-stopped

这里解释一下各个参数的含义:

  • - "10022:22":将宿主机的 10022 端口映射到容器的 22 端口(SSH 服务)
  • - "10880:3000":将宿主机的 10880 端口映射到容器的 3000 端口(Web 服务)
  • - ./data:/data:将宿主机的 ./data 目录挂载到容器的 /data 目录

第三步:运行容器

docker-compose up -d

出现如下内容则说明启动成功

第四步:初始配置

启动容器后,通过浏览器访问 http://你的服务器IP:10880 进入安装页面。

我们需要先创建好所需要的数据库,我使用的是mysql

第五步:使用

使用相对来说比较简单,此处不多做讲解

常见问题与解决方案

1. 内置 SSH 服务器不推荐

在 Docker 容器内使用内置 SSH 服务器不被推荐。建议使用映射到宿主机的 SSH 端口(如示例中的 10022)。

其他方式部署

还有其他二进制包部署等方式,家人们可参考一下文章

使用 Gogs 搭建自己的 Git 服务器:https://blog.mynook.info/post/host-your-own-git-server-using-gogs/

结语

Gogs 是一个小而美的 Git 服务解决方案。无论你是想在个人服务器上搭建私有的代码仓库,还是为小团队提供一个轻量级的代码协作平台,Gogs 都是一个值得考虑的选择。

它的简洁并不意味着功能的缺失,相反,Gogs 在保持轻量的同时,提供了 Git 托管服务所需的核心功能。加上 Docker 的一键部署,你可以在几分钟内拥有一个属于自己的 Git 服务。

目录
相关文章
|
9天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23436 10
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
13天前
|
人工智能 缓存 BI
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro,跑完 Skills —— OA 审批、大屏、报表、部署 5 大实战场景后的真实体验 ![](https://oscimg.oschina.net/oscnet/up608d34aeb6bafc47f
4599 15
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
|
14天前
|
人工智能 JSON BI
DeepSeek V4 来了!超越 Claude Sonnet 4.5,赶紧对接 Claude Code 体验一把
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro 的真实体验与避坑记录 本文记录我将 Claude Code 对接 DeepSeek 最新模型(V4Pro)后的真实体验,测试了 Skills 自动化查询和积木报表 AI 建表两个场景——有惊喜,也踩
5512 13
|
1月前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
24442 65
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
2天前
|
前端开发 API 内存技术
对比claude code等编程cli工具与deepseek v4的适配情况
DeepSeek V4发布后,多家编程工具因未适配其强制要求的`reasoning_content`字段而报错。本文对比Claude Code、GitHub Copilot、Langcli、OpenCode及DeepSeek-TUI等主流工具的兼容性:Claude Code需按官方方式配置;Langcli表现最佳,开箱即用且无报错;Copilot与OpenCode暂未修复问题;DeepSeek-TUI尚处早期阶段。
674 2
对比claude code等编程cli工具与deepseek v4的适配情况