哪吒(Dashboard) 源地址
Docker部署
创建目录
cd root/docker/nezha && mkdir -p template data
v1版本
docker-compose.yaml配置
text 代码:services:
dashboard:
image: ghcr.io/nezhahq/nezha
restart: always
ports:
- "8008:8008"
volumes:
- ./data:/dashboard/data
访问地址
后台路径 IP:8008/dashboard
默认用户名密码 admin admin
监控服务器
如果域名开启了cdn,则复制出来的被控机脚本需要修改,并且cf里的网络配置需要开启grpc选项,修改示例:
bash 代码:curl -L https://raw.githubusercontent.com/nezhahq/scripts/main/agent/install.sh -o nezha.sh && chmod +x nezha.sh && env NZ_SERVER=你的域名:443 NZ_TLS=true NZ_CLIENT_SECRET=xxxxxxxxxxxxxxxxxxxxxx ./nezha.sh
主要修改了脚本中的域名后面的端口为443和NZ_TLS=true,其他不变。
v0版本
准备工作
- 一台可以连接公网的服务器
- 一个已经设置好 A 记录,指向 Dashboard 服务器 IP 的域名。
- 一个 Github 账号(或:Gitlab、Gitee)。
获取 Github 的 Client ID 和密钥
- 登陆 Github官网,点击右上角头像,找到设置(Settings)点开它,在画面的左边最下方找到开发者设置(Developer Settings)点开它,左边第二个OAuth应用程序(OAuth Apps),右边找到新OAuth应用程序(New OAuth App)
- 创建一个新的OAuth应用程序(Register a new OAuth application),新建程序名称(Application name),填写已经准备好的域名(Homepage URL),描述信息(Application description),设置回调域名地址(Authorization callback URL)格式是”域名/oauth2/callback“,点击注册申请(Register application).至此应用程序已经创建完毕.
点开应用程序,找到部署哪吒监控所需的用户ID以及密钥(Client ID、Client secrets)
ID是不会变的,密钥只会显示一次!如若忘了可以新建一个,可重复新建不必慌张!
需要注意的是域名如果开了 cdn的话,要在解析两个域名,将两个域名解析在面板 IP 用来进行通信
反代需要反代两个端口:
面板域名:IP:8080
被控制端域名:IP:5555.
docker-compose.yml配置
text 代码:services:
nezha:
image: dapiaoliang666/nezha:v0.20.13
container_name: nezha
restart: always
ports:
- "8080:80"
- "5555:5555"
volumes:
- ./data:/dashboard/data
- ./template:/dashboard/resource/template
在data目录添加config.yaml配置
text 代码:debug: false
language: zh-CN
site:
brand: 服务器监控
cookiename: nezha-dashboard
theme: server-status
dashboardtheme: default
customcode: ""
customcodedashboard: ""
viewpassword: ""
oauth2:
type: github
admin: github用户名
admingroups: ""
clientid: 验证ID
clientsecret: 验证密钥
endpoint: ""
oidcdisplayname: OIDC
oidcissuer: ""
oidclogouturl: ""
oidcregisterurl: ""
oidcloginclaim: sub
oidcgroupclaim: groups
oidcscopes: openid,profile,email
oidcautocreate: false
oidcautologin: false
httpport: 80
grpcport: 5555
# grpchost: grpc.example.com # 被控端连接域名(前端不开CDN可去掉这个这里的域名)
proxygrpcport: 0 # 被控端连接域名套CF需改成443
tls: false # 被控端连接域名套CF需改成true
enableplainipinnotification: false
disableswitchtemplateinfrontend: false
enableipchangenotification: false
ipchangenotificationtag: default
cover: 0
ignoredipnotification: ""
location: Asia/Shanghai
ignoredipnotificationserverids: {}
maxtcppingvalue: 1000
avgpingcount: 2
dnsservers: ""
访问地址
域名访问,登录跳转github
监控服务器
如果域名开启了cdn,则复制出来的被控机脚本需要修改,并且cf里的网络配置需要开启grpc选项,修改示例:
bash 代码:curl -L https://cdn.jsdelivr.net/gh/sky22333/shell@main/nezha/install.sh -o nezha.sh && chmod +x nezha.sh && ./nezha.sh install_agent 被控制端域名 443 xxxxxxxxxxxxxxxxxxxx --tls
没开启cdn的示范
bash 代码:curl -L https://cdn.jsdelivr.net/gh/sky22333/shell@main/nezha/install.sh -o nezha.sh && chmod +x nezha.sh && ./nezha.sh install_agent 面板IP 5555 xxxxxxxxxxxxxxxxxxxx
将面板中复制所得的指令中的sh的raw文件url替换成
支持v6bash 代码:
https://cdn.jsdelivr.net/gh/sky22333/shell@main/nezha/install.sh
不支持v6bash 代码:
https://raw.githubusercontent.com/one-LN/oneln/main/nezha-v0.sh
常见问题
- 旧版版本停留在哪个版本?
面板版本停留在v0.20.13,被控制端版本停留在v0.20.5
- 为什么我按照操作了还是不能检测到小鸡信息?
是不是是没开启grpc选项呢!
会不会是被cf的防止人机策略拦截了呢!!!