本文及资源最后更新时间 2023-02-11 by sky995
1.从github拉取哪吒探针最新源码,进入源码根目录。
2.修改cmd/dashboard/main.go:
import (
“….”
“….”
“os”
“fmt”
“….”
“….”
“….”
)
….
….
func init() {
//新建conf文件
file6, err := os.Create(“data/config.yaml”)
if err != nil {
fmt.Println(err)
}
data := `debug: false
httpport: 80
grpcport: 7777
oauth2:
type: “github” #Oauth2 登录接入类型,gitee/github
admin: “” #管理员列表,半角逗号隔开
clientid: “” # 在 https://github.com/settings/developers 创建,无需审核 Callback 填 http(s)://域名或IP/oauth2/callback
clientsecret: “”
site:
brand: “名字”
cookiename: “nezha-dashboard” #浏览器 Cookie 字段名,可不改
theme: “default”
`
file6.WriteString(data)
file6.Close()
// 初始化 dao 包
singleton.Init()
singleton.InitConfigFromPath(“data/config.yaml”)
singleton.InitDBFromPath(“data/sqlite.db”)
singleton.InitLocalizer()
initSystem()
}
flyctl deploy #填写相关配置信息
3.编辑生成的fly.toml为:
app = “名字”
kill_signal = “SIGINT”
kill_timeout = 5
processes = []
[env]
[experimental]
allowed_public_ports = []
auto_rollback = true
[mounts]
destination = “/dashboard/data”
source = “卷名,随便起,下面用的到”
[[services]]
http_checks = []
internal_port = 80
processes = [“app”]
protocol = “tcp”
script_checks = []
[services.concurrency]
hard_limit = 25
soft_limit = 20
type = “connections”
[[services.ports]]
handlers = [“http”]
port = 80
[[services.ports]]
handlers = [“tls”, “http”]
port = 443
[[services.tcp_checks]]
grace_period = “1s”
interval = “15s”
restart_limit = 0
timeout = “2s”
[[services]]
http_checks = []
internal_port = 7777
processes = [“app”]
protocol = “tcp”
script_checks = []
[services.concurrency]
hard_limit = 25
soft_limit = 20
type = “connections”
[[services.ports]]
port = 7777
[[services.tcp_checks]]
grace_period = “1s”
interval = “15s”
restart_limit = 0
timeout = “2s”
4.为了数据持久化,创建一个卷存放数据:
fly volumes create 卷名 –region hkg –size 1
5.启动:
fly deploy –no-cache –remote-only
6.等待创建完毕就大功告成了!
demo:https://mynezhatz.fly.dev/