feat: service status indicators (Caddy, Authelia, Launcher)
This commit is contained in:
parent
60669b47a3
commit
af85ea31e7
1 changed files with 16 additions and 1 deletions
17
main.go
17
main.go
|
|
@ -283,11 +283,22 @@ func adminHandler(w http.ResponseWriter, r *http.Request) {
|
|||
|
||||
w.Header().Set("Content-Type", "text/html; charset=utf-8")
|
||||
|
||||
// Check service statuses
|
||||
autheliaUp := false
|
||||
if resp, err := http.Get("http://127.0.0.1:9091/api/health"); err == nil {
|
||||
autheliaUp = resp.StatusCode == 200
|
||||
resp.Body.Close()
|
||||
}
|
||||
caddyUp := false
|
||||
if resp, err := http.Get("http://127.0.0.1:80/"); err == nil {
|
||||
caddyUp = true
|
||||
resp.Body.Close()
|
||||
}
|
||||
launcherUp := false
|
||||
if resp, err := http.Get("http://127.0.0.1:9000/health"); err == nil {
|
||||
launcherUp = resp.StatusCode == 200
|
||||
resp.Body.Close()
|
||||
}
|
||||
|
||||
userLang := os.Getenv("LANG")
|
||||
if userLang == "" {
|
||||
|
|
@ -302,6 +313,8 @@ func adminHandler(w http.ResponseWriter, r *http.Request) {
|
|||
"Domain": domain,
|
||||
"AdminEmail": adminEmail,
|
||||
"AutheliaUp": autheliaUp,
|
||||
"CaddyUp": caddyUp,
|
||||
"LauncherUp": launcherUp,
|
||||
"Lang": userLang,
|
||||
})
|
||||
|
||||
|
|
@ -943,7 +956,9 @@ const adminHTML = `<!DOCTYPE html>
|
|||
<div class="info-grid">
|
||||
<div class="info-item"><div class="label">Domain</div><div class="value">{{.Domain}}</div></div>
|
||||
<div class="info-item"><div class="label">Admin Email</div><div class="value">{{.AdminEmail}}</div></div>
|
||||
<div class="info-item"><div class="label">Authelia</div><div class="value">{{if .AutheliaUp}}<span class="status-dot status-up"></span>Running{{else}}<span class="status-dot status-down"></span>Unreachable{{end}}</div></div>
|
||||
<div class="info-item"><div class="label">Caddy</div><div class="value">{{if .CaddyUp}}<span class="status-dot status-up"></span>Running{{else}}<span class="status-dot status-down"></span>Down{{end}}</div></div>
|
||||
<div class="info-item"><div class="label">Authelia</div><div class="value">{{if .AutheliaUp}}<span class="status-dot status-up"></span>Running{{else}}<span class="status-dot status-down"></span>Down{{end}}</div></div>
|
||||
<div class="info-item"><div class="label">Launcher</div><div class="value">{{if .LauncherUp}}<span class="status-dot status-up"></span>Running{{else}}<span class="status-dot status-down"></span>Down{{end}}</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actions"><button type="submit" class="btn btn-primary">Save Settings</button><span id="savemsg" style="display:none;color:#48bb78;font-size:0.9rem;">Saved</span></div>
|
||||
|
|
|
|||
Loading…
Reference in a new issue