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
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
|