import{_ as e,c as t,o as a,d as n}from"./app.2c402e15.js";const b='{"title":"Preparations","description":"","frontmatter":{},"headers":[{"level":2,"title":"Preparations","slug":"preparations"},{"level":2,"title":"Get the Client ID and Client Secret on Github","slug":"get-the-client-id-and-client-secret-on-github"},{"level":2,"title":"Installing Dashboard on the server","slug":"installing-dashboard-on-the-server"},{"level":2,"title":"Configure reverse proxy","slug":"configure-reverse-proxy"},{"level":2,"title":"Configuring SSL in the aaPanel","slug":"configuring-ssl-in-the-aapanel"}],"relativePath":"en_US/guide/dashboard.md"}',o={},s=n(`
To setup a Nezha monitorning Dashboard, you need these things:
TIP
If you want to use CDN, please prepare two domains, one connect to CDN for public access, CDN needs to support WebSocket protocol; the other domain should not connect to CDN, use it as Agent to send data to Dashboard.
This document uses "cdn.example.com" and "data.example.com" domains to demonstrate respectively
This document will use the aaPanel as an example, with future versions of the changes, some of the features may change, this document is for reference only
Nezha Monitor uses a Github account as the login account for the admin panel
Application name
- Fill in as you likeHomepage URL
- Fill in the panel's access domain name, such as: "http://cdn.example.com"Authorization callback URL
- Fill in the callback address, e.g., "http://cdn.example.com/oauth2/callback"curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install_en.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
After waiting for the Docker installation to complete, input the following settings:OAuth2 provider
- GithubClient ID
- Previously saved Client IDClient Secret
- Previously saved secretGitHub/Gitee login name
- Github usernameSite title
- Custom site titleSite access port
- Public access port, customizable, default 8008RPC port
- The communication port between Agent and Dashboard, default 5555
After the input is complete, wait to pull the mirror
After the installation, if everything is fine, you can visit the domain + port number, such as "http://cdn.example.com:8008" to view the Dashboard
In the future, if you need to run the script again, you can run:
./nezha.sh
to open the management script
Create a new site in the aaPanel, fill in the public access domain name, such as "http://cdn.example.com", then click "Settings" to enter the site settings option, select " Reverse proxy" - "New reverse proxy"
Customize a proxy name, fill in http://127.0.0.1
in the "Target URL" and click "Save"
Open the " configuration" to the right of the new reverse proxy you just created and replace the configuration file with the following:
#PROXY-START/
location / {
proxy_pass http://127.0.0.1:8008;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
}
location ~ ^/(ws|terminal/.+)$ {
proxy_pass http://127.0.0.1:8008;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
#PROXY-END/
CaddyServer v1\uFF08v2 no special configuration required\uFF09
proxy /ws http://ip:8008 {
websocket
}
proxy /terminal/* http://ip:8008 {
websocket
}
First, temporarily disable the reverse proxy
As with other websites, you can choose to automatically apply for a Let\xB4s Encrypt certificate or manually configure an existing certificate by going to "SSL" in the site settings
After you finish setting up SSL, you need to go back to https://github.com/settings/developers and edit the authentication application you created before, change all the domain names in the "Homepage URL" and "Authorization callback URL" you filled in before from http
to https
, such as: "https://cdn.example.com" and "https://cdn.example.com/oauth2/callback", If you don't change these links, you may not be able to log into the admin panel