Docker方式搭建sspanel前端,源代码来自Github项目。
本项目未集成Nginx代理,用户需要自行配置Nginx代理的方式,并根据需要映射9000端口到宿主或则其他容器中.Nginx配置文件会自动根
据用户提供的DOMAIN配置Nginx,并保存在容器内/var/www/html/sspanel/ngxconf/sspanel.ngx.conf,用户应使用该配置文件,SSL证
书则保存在/var/www/html/sspanel/ssl/中,请按需求配置/var/www/html/sspanel/ngxconf/sspanel.ngx.conf的证书部分。
- v2.2.0-stretch(Dockerfile)
- latest-stretch(Dockerfile)
以下选项中打钩√的是必选项,缺失这些选项系统将不能正常运行
基本设置
DEBUG调试模式APP_NAME应用名称DOMAIN系统域名 √MU_KEY应用校验密码(与后端校验用) √DB_HOST数据库地址 √DB_DATABASE数据库名称 √DB_USERNAME数据库用户名 √DB_PASSWORD数据库密码 √
邮箱设置
MAIL_DRIVER发件方式SMTP_HOSTsmtp主机地址SMTP_USERNAME登录用户名SMTP_PORTSMTP端口SMTP_NAME用户SMTP_SENDER发送者SMTP_PASSWORD密码SMTP_SSL是否开启SSL
备份设置
AUTO_BACKUP_EMAIL接收备份的邮箱AUTO_BACKUP_PASSWD备份的压缩密码
注册设置
DEFAULT_TRAFFIC用户初始流量(GB)USER_EXPIRE_IN_DEFAULT用户账户过期时间,在注册时设置(天)USER_CONN用户客户端限制数量 IP数USER_SPEEDLIMIT用户限速(M)REG_AUTO_RESET_DAY用户流量重置日REG_AUTO_RESET_BANDWIDTH用户流量重置量(GB)MIN_PORT用户端口范围 最小值MAX_PORT用户端口范围 最大值ENABLE_EMAIL_VERIFY是否启用邮箱验证
邀请设置
ENABLE_INVITE_CODE强制开启邀请INVITE_NUM注册后的邀请链接可用次数
国旗设置
ENABLE_FLAG是否显示国旗
节点检测
ENABLE_DETECT_GFW是否开启GFW检测DETECT_GFW_INTERVAL检测间隔(秒)DETECT_GFW_PORT检测端口ENABLE_DETECT_OFFLINE是否开启离线检测
SSL证书
CF_KEYCloudFlare key √CF_EMAILCloudFlare 关联的邮箱 √
本项目依赖于CloudFlare提供的DNS解析,用户需要预先在CloudFlare 解析域名到服务器公网地址(可使用代理方式),并且获取账户相关的CF_KEY。
用户需要根据实际情况填写environment部分的环境变量,所有容器运行后需要等待5分钟后方可正常使用
version: "3"
volumes:
sspanel:
sspanel_ssl:
ngxconf:
networks:
ssnet:
services:
sspanel:
container_name: sspanel
image: liuweijian/sspanel:v2.2.0-stretch
restart: always
volumes:
- sspanel:/var/www/html/sspanel/
- sspanel_ssl:/var/www/html/sspanel/ssl/
- sspanel_ngxconf:/var/www/html/sspanel/ngxconf/
networks:
- ssnet
environment:
- DOMAIN=demo.sspanel.com
- MU_KEY=sspanelKey
- DB_HOST=127.0.0.1
- DB_DATABASE=sspanel
- DB_USERNAME=sspanel
- DB_PASSWORD=123456
- CF_KEY=cfkeycfkeycfkeycfkeycfkey
- CF_EMAIL=sspanel@gmail.com
nginx:
container_name: nginx
image: nginx:latest
restart: always
ports:
- "80:80"
- "443:443"
links:
- webapp
volumes:
- sspanel:/var/www/html/sspanel/
- sspanel_ssl:/etc/nginx/ssl/
- ngxconf:/etc/nginx/
networks:
- ssnet
depends_on:
- sspanel
##定时任务设置
由于容器中cron定时任务未能顺利执行,此处使用宿主机的定时任务
30 22 * * * docker exec -t sspanel php /var/www/html/sspanel/xcat sendDiaryMail
0 0 * * * docker exec -t sspanel php /var/www/html/sspanel/xcat dailyjob
*/1 * * * * docker exec -t sspanel php /var/www/html/sspanel/xcat checkjob
*/1 * * * * docker exec -t sspanel php /var/www/html/sspanel/xcat syncnode
0 5 * * 6 docker exec -t sspanel php -n /var/www/html/sspanel/xcat backup
*/1 * * * * docker exec -t sspanel php /var/www/html/sspanel/xcat detectGFW