Documentation of filesite.io. https://filesite.io
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
2.5 KiB

2 years ago
# CentOS 7如何用Docker安装开源git仓库管理软件Gogs?
## 安装MySql并配置好账号
先安装mariadb:
```
docker pull mariadb/server
docker run -d --name maria -p 3306:3306 -eMARIADB_ROOT_PASSWORD=mypassword mariadb/server
```
再进入容器maria,创建gogs专用数据库:
```
docker exec -it maria bash
mysql -uroot -pmypassword
mysql> create database gogs default charset=utf8;
mysql> grant all on gogs.* to 'gogs' identified by 'dbpassword';
mysql> flush privileges;
```
## 下载Gogs镜像
```
docker pull gogs/gogs
```
如果你还没安装Docker,请先参考安装:
[CentOS 7如何安装Docker Engine?](./CentOS_7如何安装Docker_Engine.md)
## 创建本地Gogs目录
```
mkdir -p /var/gogs
```
## 创建Gogs容器
```
docker run --name=gogs -p 10022:22 -p 10880:3000 -v /var/gogs:/data gogs/gogs
```
其中端口10022和10880可以自定义,前一个是基于ssh访问,后一个是基于http访问。
## 启动Gogs容器
```
docker start gogs
```
## 配置Nginx以便外网访问
Nginx参考配置:
```
server {
listen 80;
server_name 你的域名;
location / {
proxy_pass http://localhost:10880;
}
}
```
## 创建管理员账号
Gogs的规则是,第一个创建的账号就是管理员,Email不是必须的。
按上面步骤配置好Nginx之后,打开你配置的域名访问Gogs,
然后点击注册按钮并完成管理员账号创建。
第一次访问,会看到一个安装网页,
在安装网页必须填好正确的MySql数据库地址、账号和密码:
```
数据库地址:172.17.0.1:3306
数据库账号:gogs
数据库密码:dbpassword
```
其中数据库ip地址需要用```ifconfig```在服务器查看Docker虚拟网络的本机ip。
以后如果需要审核新的账号,
管理员账号登陆后进入:Admin > Users 就可以审核了。
## 命令行创建账号
除了上述网页的方式管理账号,还可以在服务器里用命令来添加账号:
```
su git
cd /home/git/gogs
./gogs admin create-user --name tmpuser --password tmppassword --admin --email [email protected]
```
上面示例假设你的Gogs是以git账号运行的,并且安装在/home/git/gogs目录,
它将创建一个用户名为**tmpuser**和密码为**tmppassword**的新用户。
以Docker方式运行的话,
上述命令应该在你的Docker容器里完成,进入到容器:
```
docker exec -it gogs bash
```
## 参考
* https://hub.docker.com/r/gogs/gogs
* https://gogs.io/docs
* https://gogs.io/docs/intro/faqs