【开源推荐】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

相关文章
|
7月前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
366 3
|
9月前
|
Cloud Native 安全 Java
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
542 1
|
9月前
|
Cloud Native Go API
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
559 0
|
9月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
388 0
|
9月前
|
Cloud Native Java 中间件
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
438 0
|
9月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
485 0
|
9月前
|
数据采集 Go API
Go语言实战案例:多协程并发下载网页内容
本文是《Go语言100个实战案例 · 网络与并发篇》第6篇,讲解如何使用 Goroutine 和 Channel 实现多协程并发抓取网页内容,提升网络请求效率。通过实战掌握高并发编程技巧,构建爬虫、内容聚合器等工具,涵盖 WaitGroup、超时控制、错误处理等核心知识点。
|
编译器 Go
揭秘 Go 语言中空结构体的强大用法
Go 语言中的空结构体 `struct{}` 不包含任何字段,不占用内存空间。它在实际编程中有多种典型用法:1) 结合 map 实现集合(set)类型;2) 与 channel 搭配用于信号通知;3) 申请超大容量的 Slice 和 Array 以节省内存;4) 作为接口实现时明确表示不关注值。此外,需要注意的是,空结构体作为字段时可能会因内存对齐原因占用额外空间。建议将空结构体放在外层结构体的第一个字段以优化内存使用。
|
运维 监控 算法
监控局域网其他电脑:Go 语言迪杰斯特拉算法的高效应用
在信息化时代,监控局域网成为网络管理与安全防护的关键需求。本文探讨了迪杰斯特拉(Dijkstra)算法在监控局域网中的应用,通过计算最短路径优化数据传输和故障检测。文中提供了使用Go语言实现的代码例程,展示了如何高效地进行网络监控,确保局域网的稳定运行和数据安全。迪杰斯特拉算法能减少传输延迟和带宽消耗,及时发现并处理网络故障,适用于复杂网络环境下的管理和维护。