nas-docker运行gogs

nas-docker运行gogs, 折腾了有点就才在qnap的docker上运行好了gogs aaa


配置gogs的docker实例运行参数

  1. 配置映射端口

    • 23500 -> 3000: 映射 web服务端口,
    • 23522 -> 23522 : 映射 ssh服务端口, 不要使用默认的 22 端口, 否者 仓库clone的地址不显示端口, 造成地址错误

  2. 挂载数据目录到机子的某个目录下, 方便以后升级新版本

  3. 很重要!!! 一定要勾选 设备 中的 在授权模式下启动Container, 否者无法运行

初始安装

需要修改的东西不多

数据库类型: 使用 SQLite3 数据可以可以省去配置, 否者需要独立运行一个 数据服务

应用名称: 这个随便, 你喜欢就好

域名: 配上你的域名地址, abc.com

SSH 端口号: 23522, 上面配置的端口映射中的 ssh服务 的 Container 端口

HTTP 端口号: 3000, 上面配置的端口映射中的 web服务 的 Container 端口 (这个内部端口一定不能改, 不然打不开后台页面)

应用URL: http://abc.com:23580 , 域名 加上 上面配置的端口映射中的 web服务 的 主机 端口, 访问web页面就用这个地址

可选配置:

管理员账号, 最好配一个

禁用 avatar , 不然会访问 avatar 网站(需要梯子)

个人使用就禁用注册


修改配置文件

如果 初始安装配错了, 也可以通过修改挂载目录下的 /data/gogs/conf/app.ini 文件

先停止 docker实例, 修改配置文件后, 在启动docker实例

邮件通知

  1. /data/gogs/conf/app.ini 中增加 qq邮件配置

    1
    2
    3
    4
    5
    6
    [mailer]
    ENABLED = true
    HOST = smtp.qq.com:465
    FROM = 123@qq.com
    USER = 123@qq.com
    PASSWD = esdfsdfwesd # qq邮件授权码, 并不是qq密码
  2. 重启服务, 测试一下. 管理面板 -> 应用配置管理 -> 邮件配置


迁移数据库到mysql

参数对比

1
2
3
4
5
6
7
8
9
10
11
12
# 使用 sqlite 的配置
[database]
DB_TYPE = sqlite3
HOST = 127.0.0.1:3306
NAME = gogs
USER = root
PASSWD = Giggs1002
SSL_MODE = disable
PATH = data/gogs.db

# 使用 mysql 的配置
[database] DB_TYPE = mysql HOST = mysql:3306 NAME = gogsdb USER = wilker PASSWD = 12345678a SSL_MODE = disable PATH = data/gogs.db

升级新版本

先停止并移除docker实例, 然后拉取新的docker镜像运行, 运行参数设置和上面的一致就行


Nginx 反向代理 https 加持

参考总结: docker_nginx反向代理多个容器实例.md