一、背景介绍
如果想可视化地查看文件的变更,查看每次提交的细节,那么可以搭建一个带 Web 的git服务器
目前的选择是 gitlib 和 gogs
gogs 使用go编写,配置简单,轻量级,个人使用完全够用
公司的话会选gitlib
二、安装
因为搭建go环境,编译安装挺麻烦的,所以我选择docker安装,docker的优点:
-
镜像小,官方镜像也才40M,相对其它镜像来说已经很小了
-
可以通过挂载卷把容器里的目录放在宿主机上,这和在宿主机上直接跑gogs没什么区别,git仓库都能在目录中找到
-
安全,如果gogs被挖出漏洞,容器也能给我们一层防护
但是数据库的话还是得自己安装,放容器里不符合数据库设计的初衷
2.1 数据库、docker安装
建立数据库,创建用户,授权用户:
CREATE DATABASE `gogs` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'gogs'@'%' IDENTIFIED BY 'your_password';
GRANT ALL ON gogs.* TO 'gogs'@'%';
2.2 gogs安装
安装gogs docker
docker pull gogs/gogs:latest
docker run -d -p 3000:3000 -p 3022:22 -v /var/gogs:/data --name=gogs gogs/gogs
# 后续启动重启
docker start|restart gogs
这样一来就安装好了,本机的3000端口就是gogs web,3022端口就是gogs ssh,本机的/var/gogs就是gogs容器里的/data
2.3 gogs web安装
访问3000端口,进行配置
都可以是默认,建议修改的选项有:
127.0.0.1:3000/gogs/禁止用户自主注册启用登录访问限制
此时不设置,后续只能通过配置文件设置,无法在web更改设置
第一个注册的用户是管理员
三、配置
vi /var/gogs/gogs/conf/app.ini
docker restart gogs