轻量高效!用Docker运行Gogs,搭建属于你的私有GitHub

2025-10-30 23:45:53 1点赞 5收藏 0评论

一、Gogs介绍

1.1 Gogs 简介

Gogs 是一款使用 Go 语言开发的轻量级、易于部署的自助式 Git 服务,旨在为个人和团队提供简单高效的代码托管解决方案。

1.2 Gogs主要特点

  • 用户仪表板与个人资料: 提供直观的用户仪表板和可自定义的个人资料页面,方便用户管理自身信息。

  • 活动时间线: 记录并展示用户的操作历史,清晰呈现项目动态。

  • 多协议仓库访问: 支持通过 SSH、HTTP 和 HTTPS 三种协议进行代码仓库的克隆与推送。

  • 用户组织仓库管理: 提供完善的用户、组织及代码仓库的创建、配置和权限管理功能。

  • 支持多种 Webhooks: 支持仓库和组织级别的 Webhooks,可与 Slack、Discord、钉钉等第三方工具集成。

  • Git 高级功能支持: 支持 Git 钩子、部署密钥以及 Git LFS(Large File Storage),满足复杂开发需求。

  • 代码协作功能: 提供问题跟踪(Issues)、拉取请求(Pull Requests)、Wiki 文档和受保护分支等协作开发功能。

  • 仓库迁移与镜像: 支持从其他代码平台(如 GitHub、GitLab)迁移或镜像仓库到 Gogs。

  • 在线文件编辑: 内置 Web 文件编辑器,可直接在浏览器中快速修改代码或 Wiki 内容。

  • 文档渲染支持: 可直接在浏览器中渲染并查看 Jupyter Notebook (.ipynb) 和 PDF 文件。

  • 多种认证方式: 支持 SMTP 邮件、LDAP、反向代理、GitHub 及 GitHub Enterprise(含 2FA)等多种登录认证方式。

  • 界面与内容自定义: 允许自定义 HTML 模板、静态资源文件等,便于个性化部署。

  • 多数据库支持: 兼容 PostgreSQL、MySQL、SQLite3 和 TiDB 等多种数据库后端。

  • 多语言本地化: 提供超过 31 种语言的界面翻译,支持国际化使用。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。

轻量高效!用Docker运行Gogs,搭建属于你的私有GitHub

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎; 2.在Docker环境下部署Gogs服务器

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@jeven:~# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled) Active: active (running) since Mon 2025-08-04 10:10:52 UTC; 30min ago TriggeredBy: ● docker.socket Main PID: 860 (dockerd) Tasks: 10 Memory: 97.2M (peak: 98.4M) CPU: 606ms CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

root@jeven:~# docker -v Docker version 28.3.3, build 980b856

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

docker compose version

四、拉取Gogs镜像

下载Gogs容器镜像,如下所示

docker pull gogs/gogs:latest轻量高效!用Docker运行Gogs,搭建属于你的私有GitHub

五、部署Gogs服务

5.1 创建部署目录

  • 创建部署目录

mkdir -p /data/gogs/data && cd /data/gogs/

  • 目录授权

chmod -R 777 /data/gogs/

5.2 编辑部署文件

使用docker-cli方式部署,可参考以下命令:

docker run -d --restart unless-stopped --name gogs -p 3200:3000 -p 4200:22 -v /data/gogs/data:/data gogs/gogs:latest

在部署目录下,创建docker-compose.yaml文件,内容如下所示:

vim docker-compose.yaml

version: '3.9' services: gogs: image: 'gogs/gogs:latest' volumes: - '/data/gogs/data:/data' ports: - '4200:22' - '3200:3000' container_name: gogs restart: always

  • 端口介绍:

轻量高效!用Docker运行Gogs,搭建属于你的私有GitHub

5.3 创建Gogs容器

执行以下命令,创建Gogs容器。

docker compose up -d轻量高效!用Docker运行Gogs,搭建属于你的私有GitHub

5.4 查看Gogs容器状态

检查Gogs容器运行状态,确保Gogs容器正常启动。

root@jeven:/data/gogs# docker compose ps WARN[0000] /data/gogs/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS gogs gogs/gogs:latest "/app/gogs/docker/st…" gogs 2 minutes ago Up 2 minutes (healthy) 0.0.0.0:4200->22/tcp, [::]:4200->22/tcp, 0.0.0.0:3200->3000/tcp, [::]:3200->3000/tcp

5.5 检查容器运行日志

检查Gogs容器运行日志,确保Gogs服务正常运行。

docker compose logs轻量高效!用Docker运行Gogs,搭建属于你的私有GitHub

六、访问Gogs服务

6.1 访问Gogs初始页

浏览器地址: http://<个人的服务器IP>:4200,访问Gogs的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

轻量高效!用Docker运行Gogs,搭建属于你的私有GitHub

6.2 初始化配置

  • 数据库配置:可以选择用 MySQL、PostgreSQL、SQLite3 等数据库,这里为了快速部署,直接使用SQLite3数据库。

轻量高效!用Docker运行Gogs,搭建属于你的私有GitHub
  • 应用基本配置,可参考如下:

域名: 填写宿主机的主机名或 IP地址,将默认的 localhost 改为 192.168.3.88

应用 URL:填写公开的访问地址,将默认的 http:// localhost:3000/ 改为 http:// 192.168.3.88:3200

  • SSH端口号:如果要启用SSH功能,则可以修改宿主机映射的4200端口

  • 其余默认不变。

轻量高效!用Docker运行Gogs,搭建属于你的私有GitHub
  • 管理员设置: 自定义设置管理员账号信息,点击“立即安装”。

轻量高效!用Docker运行Gogs,搭建属于你的私有GitHub轻量高效!用Docker运行Gogs,搭建属于你的私有GitHub

6.3 创建Git仓库

点击Gogs首页的【我的仓库】旁边“+”选项,立即创建仓库。

轻量高效!用Docker运行Gogs,搭建属于你的私有GitHub

填写仓库名称后,确认创建即可。

在这里插入图片描述在这里插入图片描述轻量高效!用Docker运行Gogs,搭建属于你的私有GitHub

6.4 管理面板

点击“管理面板”选项,进入到该页面进行相关操作。

在这里插入图片描述在这里插入图片描述

七、总结

通过本次实践,我们成功使用Docker快速部署了轻量级Git服务器Gogs,整个过程简洁高效。Gogs凭借其易于安装、界面友好和功能齐全的特点,非常适合个人开发者或小型团队搭建私有代码仓库。Docker的容器化方式进一步简化了环境依赖和部署流程,提升了服务的可移植性与维护性。未来可根据实际需求进一步配置备份、HTTPS加密或集成CI/CD流程,提升代码管理的安全性与自动化水平。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
相关好价
最新文章 热门文章
5
扫一下,分享更方便,购买更轻松