熟悉 soga 配置文件的可以直接翻到最后
参数名 |
默认值 |
说明 |
type |
sspanel-uim |
对接的面板,可选:sspanel-uim,v2board,vnetpanel |
server_type |
v2ray |
后端类型,可选:v2ray,trojan |
api |
webapi |
对接方式,可选: webapi,db |
webapi_url |
无 |
面板webapi地址,一般就是主页地址 |
webapi_mukey |
无 |
webapi通信密钥 |
db_host |
无 |
数据库地址 |
db_port |
3306 |
数据库端口 |
db_name |
无 |
数据库名 |
db_user |
root |
数据库用户名 |
db_password |
无 |
数据库密码 |
node_id |
0 |
节点id |
soga_key |
无 |
授权码,社区版无需填写 |
user_conn_limit |
0 |
限制单个用户连接数,0表示无限制,sspanel优先从面板获取 |
user_speed_limit |
0 |
限制单个用户速度,0表示无限制,单位Mbps,sspanel优先从面板获取 |
check_interval |
100 |
后端上报、检查间隔时间,单位秒 |
force_close_ssl |
false |
v2ray有效,设为true可强制关闭tls,即使前端开启tls,soga也不会开启tls,方便用户自行使用nginx、caddy等反代 |
forbidden_bit_torrent |
false |
设为true可禁用bt下载 |
default_dns |
无 |
默认dns,可在此配置流媒体解锁的dns,以逗号分隔。例如:8.8.8.8,1.1.1.1 |
dns_cache_time |
10 |
自定义dns缓存时间,单位分钟,仅在设置了default_dns时有效,或者v2board设置了dns规则时也有效 |
trojan_remote_addr |
无 |
trojan配置,trojan反代地址 |
trojan_remote_port |
0 |
trojan配置,trojan反代端口 |
v2ray_reduce_memory |
false |
v2ray配置,在已降低内存的基础上进一步降低内存使用,启用后客户端时间误差要求不超过15秒 |
tls_alpn |
http/1.1 |
tls ALPN 配置,不懂的话保持默认即可,多协议以逗号分隔,例如:h2,http/1.1 |
proxy_protocol |
false |
具体请参看中转获取真实 IP 教程 |
v2ray_fallback_addr |
无 |
v2ray fallback 地址,仅 tcp+tls 可使用 |
v2ray_fallback_port |
0 |
v2ray fallback 端口,仅 tcp+tls 可使用 |
auto_update |
false |
soga 自动更新,只会检测稳定版,docker 不能自动重启容器,需手动重启容器,无需更新镜像 |
若未开启 tls,则无需配置证书
trojan 必须配置证书
soga 支持三种方式配置证书,任选其一即可
-
需自行申请证书,并挂载目录 -v /path/to/:/etc/soga/,/path/to/为证书和密钥所在的目录
-
并按照以下配置:–cert_file=/etc/soga/文件名,–key_file=/etc/soga/文件名
参数名 |
默认值 |
说明 |
cert_file |
无 |
证书文件路径 |
key_file |
无 |
密钥文件路径 |
-
需要配置 -p 80:80,且宿主机的 80 端口未被占用,防火墙也要放行
-
确保域名已解析到本服务器的IP
-
若开启CDN,则必须确保CDN不会跳转https,否则推荐dns验证
参数名 |
默认值 |
说明 |
cert_domain |
无 |
域名 |
cert_mode |
无 |
必填:http |
cert_key_length |
无 |
留空则申请RSA证书,填写ec-256或ec-384则申请ECC证书 |
-
支持一百多种 DNS 服务商
-
此配置方式较复杂,但最通用
-
该页面列出了所有支持的 DNS 服务商:https://github.com/acmesh-official/acme.sh/wiki/dnsapi
参数名 |
默认值 |
说明 |
cert_domain |
无 |
域名 |
cert_mode |
无 |
必填:dns |
cert_key_length |
无 |
留空则申请RSA证书,填写ec-256或ec-384则申请ECC证书 |
dns_provider |
无 |
DNS服务商名称 |
DNS_xxx |
无 |
需要配置的邮箱、密钥等 |
DNS_xxx |
无 |
需要配置的邮箱、密钥等 |
… |
无 |
需要配置的邮箱、密钥等 |
CloudFlare 配置示例
–cert_domain=xxx.com \–cert_mode=dns \–cert_key_length=ec-256 \–dns_provider=dns_cf \–DNS_CF_Key=xxxxx \DNSPod 配置示例
–cert_domain=xxx.com \–cert_mode=dns \–cert_key_length=ec-256 \–dns_provider=dns_dp \–DNS_DP_Id=111 \–DNS_DP_Key=xxxxx \
其它的 DNS 服务商都能在这个页面找到:https://github.com/acmesh-official/acme.sh/wiki/dnsapi
配置要点:
-
找到 DNS 提供商的名称,以 dns_ 开头,后面跟提供商的缩写
-
找到 DNS 提供商所需要配置的内容,区分大小写,一般都是 API 密钥之类的,注意要在参数名中加上 DNS_ 前缀,防止配置冲突
一定要根据自己的实际情况增加、删除或修改配置项
请自行学习你不熟悉的 docker 参数的具体含义,这里不是 docker 新手教程
–name 可以为容器起一个名字(可选),随意起名,运行多个 docker 实例不要同名
-d 表示后台运行,若只是想测试,建议去掉 -d,可及时看得到日志
使用 -v 挂载一个路径(可选),建议挂载,主要存储证书文件。冒号左边的路径随意,运行多个 docker 实例可以相同,右边的路径必须是 /etc/soga/
根据你自己的实际情况使用 -p 映射端口,-p 80:80 -p 443:443 可能是多数人的映射端口配置,请自行理解这些端口映射的含义,并确保防火墙放行,端口未被占用等
程序参数以 –name=value 的形式跟在最后,配置的参数上面说过了
实际上与配置文件配置的内容完全相同
请自行学习 docker-compose 的基本使用方法
可用环境变量的方式传参数,注意区分大小写
添加、修改你自己需要的参数
以下命令均需要在docker-compose.yml文件所在的目录下执行
以下命令均需要在docker-compose.yml文件所在的目录下执行
例子
version: "3" services: soga: image: sprov065/soga:latest restart: on-failure ports: - "442:442" environment: type: sspanel-uim server_type: v2ray api: webapi webapi_url: https://xxx.com/ webapi_mukey: 123456789 node_id: 39 cert_domain: xxxxx.com cert_mode: http force_close_ssl: 'false' # 填写 false 或 true 参数值时需要加引号 forbidden_bit_torrent: 'true' # 填写 false 或 true 参数值时需要加引号 default_dns: 1.1.1.1,8.8.8.8 volumes: - "/etc/soga/:/etc/soga/"