使用docker搭建私有git服务(gogs+https)
为什么有了github还要有自己的平台?
- 代码审计安全(不会随便被删除)
- 自己团队需要
- 速度更快
为什么选择gogs?
请移步官网学习,配置文件请参考配置文件手册,配置样例请访问app.ini。
准备
- docker运行环境
- 有公网IP的服务器(老高的服务器使用的搬瓦工)
- git域名已做好解析
配置文件
docker-compose.yml
version: '3'
services:
caddy:
container_name: caddy
image: abiosoft/caddy
volumes:
- "./Caddyfile:/etc/Caddyfile"
- "./caddy:/root/.caddy"
restart: always
environment:
- ACME_AGREE=true
ports:
- "443:443"
- "80:80"
gogs:
container_name: gogs
image: gogs/gogs
volumes:
- ./gogs:/data
ports:
- "3000"
- "22:22"
restart: always
Caddyfile
有两处改动
改---> git.xxx.com {
proxy / http://gogs:3000
tls [email protected] <---改
log / stdout {combined}
errors stderr
}
运行
docker-compose up -d
然后访问 https://git.xxx.com ,进行初始化配置
这就完了?
针对老高的使用其实已经写完了。首先呢,老高是自用的,搭建在搬瓦工的服务器上,所以需要尽可能的节省内存,所以选择使用sqlite,而不是MySQL或者其他数据库,不过如果需要为团队搭建git服务,那么就需要考虑加入数据库服务了。再考虑到文件安全问题,我们需要定期备份gogs文件夹,和数据库文件(如果是sqlite,就不需要了)。
好吧,稍后还是把MySQL版本贴上来吧!
gogs还过得去,个人小团队够用。