gogs-docker部署

gogs

介绍

gogs是一款极易搭建的自助 Git 服务。

支持活动时间线

支持 SSH 以及 HTTP/HTTPS 协议

支持 SMTP、LDAP 和反向代理的用户认证

支持反向代理子路径

支持用户、组织和仓库管理系统

支持仓库和组织级别 Web 钩子(包括 Slack 集成)

支持仓库 Git 钩子和部署密钥

支持仓库工单(Issue)、合并请求(Pull Request)和 Wiki

支持添加和删除仓库协作者

支持 Gravatar 以及自定义源

支持邮件服务

支持后台管理面板

支持 MySQL、PostgreSQL、SQLite3 和 TiDB(实验性支持) 数据库

支持多语言本地化(15 种语言)

安装

获取gogs docker

1
docker pull gogs/gogs

部署gogs

1
2
mkdir -p /var/gogs
docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs

运行docker

1
docker start gogs

https://github.com/gogits/gogs/tree/master/docker

补充

  1. docker部署后,若发布到公网,绑定域名,需对配置文件进行修改
1
2
3
4
5
6
7
8
➜  monkeyspace cat /var/gogs/gogs/conf/app.ini
[server]
DOMAIN = gogs.antio.top # 用于修改ssh地址
HTTP_PORT = 3000
ROOT_URL = http://gogs.antio.top/ # 用于修改http地址
DISABLE_SSH = false
SSH_PORT = 22
OFFLINE_MODE = false
  1. git钩子问题,需将web目录映射到docker中,不然git钩子无法找到相对应的目录。
1
2
#!/bin/bash
git --work-tree=/var/www/html/webpath checkout -f
1
docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data -v /var/www/html/webpath:/var/www/html/webpath gogs/gogs

关键:

1
/var/www/html/webpath [主机目录]:/var/www/html/webpath[docker中的目录]

我的gogs仓库