本篇介绍一个部署简单、资源占用少、使用简洁的代码托管平台 gogs 的 docker 部署方法。

安装

假设 docker 和 docker-compose 已经按照完成。如果没有安装,可以参考我的另一篇博客:docker 简单介绍.

下面安装 gogs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# 拉取镜像
docker pull gogs/gogs

# 创建目录
mkdir ~/gogs

# 创建docker-compose.yaml
cat > ~/gogs/docker-compose.yaml <<-"EOF"
#version: '3.6'
services:
web:
image: 'gogs/gogs'
restart: always
privileged: true
hostname: 'gogs'
container_name: 'gogs'
ports:
- '8901:3000'
- '8902:22'
volumes:
- '~/gogs/gogs_data:/data'
EOF

# 启动安装程序
docker compose up -d

# 打开 localhost:8901,数据库建议选择PostgreSQL比较简单不需要再启动其他容器
# 域名 根据需要修改,后面也可以通过gogs_data下的配置文件config/app.ini修改
# 应用 URL 根据需要修改,后面也可以通过gogs_data下的配置文件config/app.ini修改
# 邮件服务设置 根据需要修改,后面也可以通过gogs_data下的配置文件config/app.ini修改
# 一定设置管理员帐号设置,假设我这里设置为
# 管理员用户名 admin
# 管理员密码 admin
# 确认密码 admin
# 管理员邮箱 admin@apple.com

# 然后点击立即安装,等待安装成功

# 安装成功后,刷新网页 localhost:8901 即可

# 关闭
docker compose down

启动

正常启动

1
2
3
cd ~/gogs

docker compose up -d

配置文件更新

1
2
3
4
5
6
7
8
9
10
11
12
13
cd ~/gogs/gogs_data/config

# 打开 app.ini

# DOMAIN 修改为自己的IP或域名
# EXTERNAL_URL 修改为自己的网页打开地址,该地址也是仓库 HTTP 克隆地址
# SSH_PORT 修改为8902,该地址在仓库 SSH 克隆时使用,因为已经映射为宿主机的8902端口

# 其他根据情况修改
# 保存该 app.ini 文件

# 重启
docker compose restart