【开源推荐】go语言写的极易搭建的git服务gogs

简介: 【6月更文挑战第4天】

44k star,推荐一款go语言写的极易搭建的git服务gogs

如果你想自己搭建一套git仓库,又觉着gitlab太复杂了,那么可以看下这个项目。

安装简洁、界面清晰简单,如下:

image.png

开源地址可以到文末查看

Gogs是一个自托管的Git服务项目,旨在提供一个简单、稳定且可扩展的Git服务,可以以最无痛的方式进行设置。

Gogs项目简介

Gogs(发音为/gɑgz/)是一个开源项目,它致力于构建一个简单、稳定且可扩展的自托管Git服务。

该项目的目标是能够在所有Go支持的平台上,包括Linux、macOS、Windows和基于ARM的系统,通过独立的二进制分发来进行设置。

特点

  • 用户仪表板:提供简单的个人用户的历史记录,有简单的信息记录
  • 多协议访问:常规项支持通过SSH、HTTP和HTTPS协议访问仓库。
  • 管理功能:带有用户管理,仓库管理项
  • Webhooks和Git钩子:支持仓库和组织的webhooks,包括Slack、Discord和Dingtalk。

image.png

  • 问题跟踪和合作:支持仓库问题、拉取请求、wiki、受保护分支和协作。
  • 迁移和镜像:支持从其他代码托管平台迁移和镜像仓库及其wiki。
  • Web编辑器:用于快速编辑仓库文件和wiki。
  • 多种认证方式:支持SMTP、LDAP、反向代理、GitHub.com和GitHub Enterprise的认证,包括双因素认证。
  • 丰富的数据库支持:支持多种数据库后端,包括PostgreSQL、MySQL、SQLite3和TiDB。
  • 本地化:支持超过31种语言的本地化。

快速安装部署

个人使用的话,需要的资源很少,一个树莓派就足够了,如果是团队使用,那么建议2c512MB的配置

安装Gogs非常简单,这里介绍下docker如何安装:

image.png

如下为最简化实践,直接使用的sqllite数据库,如有需要可以自行安装mysql或者pg

version: "3.8"
services:
  gogs:
    image: gogs/gogs
    restart: unless-stopped
    ports:
      - 3000:3000

启动后,访问3000端口,需要进行一个简单的设置

image.png

新建一个项目作为测试,可以看到还有wiki可以编辑
image.png

image.png

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

相关文章
|
5月前
|
人工智能 Kubernetes Java
回归开源,两位 Java 和 Go 程序员分享的开源贡献指引
Higress是一个基于Istio和Envoy的云原生API网关,支持AI功能扩展。它通过Go/Rust/JS编写的Wasm插件提供可扩展架构,并包含Node和Java的console模块。Higress起源于阿里巴巴,解决了Tengine配置重载及gRPC/Dubbo负载均衡问题,现已成为阿里云API网关的基础。本文介绍Higress的基本架构、功能(如AI网关、API管理、Ingress流量网关等)、部署方式以及如何参与开源贡献。此外,还提供了有效的开源贡献指南和社区交流信息。
543 33
|
4月前
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
271 61
|
4月前
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
6月前
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
1218 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
7月前
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
129 10
|
11月前
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
228 3
|
11月前
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
166 1
|
存储 数据可视化 开发工具
2款.NET开源且免费的Git可视化管理工具
2款.NET开源且免费的Git可视化管理工具
192 1
|
11月前
|
NoSQL 测试技术 Go
自动化测试在 Go 开源库中的应用与实践
本文介绍了 Go 语言的自动化测试及其在 `go mongox` 库中的实践。Go 语言通过 `testing` 库和 `go test` 命令提供了简洁高效的测试框架,支持单元测试、集成测试和基准测试。`go mongox` 库通过单元测试和集成测试确保与 MongoDB 交互的正确性和稳定性,使用 Docker Compose 快速搭建测试环境。文章还探讨了表驱动测试、覆盖率检查和 Mock 工具的使用,强调了自动化测试在开源库中的重要性。
253 0
|
存储 开发工具 C#
Git Extensions:一个.NET开源的 Git 图形用户界面(GUI)工具
Git Extensions:一个.NET开源的 Git 图形用户界面(GUI)工具
443 0