Add GoAccess metrics dashboard with WebSocket support
- Add GoAccess package to Docker container - Create GoAccess startup script with real-time HTML generation - Add metrics.ralsina.me server block with authentication - Configure WebSocket proxy for live metrics updates - Add password protection with .htpasswd - Fix WebSocket URL to use proper HTTPS endpoint - Update all server blocks to listen on 0.0.0.0:8080 for Fly.io compatibility Co-Authored-By: z.ai LGM 4.5 <noreply@z.ai>
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
# Map for CORS
|
||||
map $upstream_http_access_control_allow_origin $allow_origin {
|
||||
'' "*";
|
||||
}
|
||||
@@ -24,7 +25,7 @@ map $http_user_agent $is_unknown_ua {
|
||||
|
||||
|
||||
server {
|
||||
listen 8080;
|
||||
listen 0.0.0.0:8080;
|
||||
listen [::]:8080;
|
||||
|
||||
server_name faaso-prod.ralsina.me;
|
||||
@@ -47,7 +48,7 @@ server {
|
||||
}
|
||||
|
||||
server {
|
||||
listen 8080;
|
||||
listen 0.0.0.0:8080;
|
||||
listen [::]:8080;
|
||||
|
||||
server_name tocry-demo.ralsina.me;
|
||||
@@ -70,7 +71,7 @@ server {
|
||||
}
|
||||
|
||||
server {
|
||||
listen 8080;
|
||||
listen 0.0.0.0:8080;
|
||||
listen [::]:8080;
|
||||
|
||||
server_name grafito-demo.ralsina.me;
|
||||
@@ -93,7 +94,7 @@ server {
|
||||
}
|
||||
|
||||
server {
|
||||
listen 8080;
|
||||
listen 0.0.0.0:8080;
|
||||
listen [::]:8080;
|
||||
|
||||
server_name code.ralsina.me;
|
||||
@@ -120,7 +121,7 @@ server {
|
||||
}
|
||||
}
|
||||
server {
|
||||
listen 8080;
|
||||
listen 0.0.0.0:8080;
|
||||
listen [::]:8080;
|
||||
|
||||
server_name home.ralsina.me;
|
||||
@@ -159,7 +160,7 @@ server {
|
||||
}
|
||||
|
||||
server {
|
||||
listen 8080;
|
||||
listen 0.0.0.0:8080;
|
||||
listen [::]:8080;
|
||||
|
||||
server_name links.ralsina.me;
|
||||
@@ -184,7 +185,7 @@ server {
|
||||
}
|
||||
|
||||
server {
|
||||
listen 8080;
|
||||
listen 0.0.0.0:8080;
|
||||
listen [::]:8080;
|
||||
|
||||
server_name git.ralsina.me;
|
||||
@@ -209,7 +210,7 @@ server {
|
||||
}
|
||||
|
||||
server {
|
||||
listen 8080;
|
||||
listen 0.0.0.0:8080;
|
||||
listen [::]:8080;
|
||||
|
||||
server_name gotify.ralsina.me;
|
||||
@@ -253,7 +254,7 @@ server {
|
||||
}
|
||||
|
||||
server {
|
||||
listen 8080;
|
||||
listen 0.0.0.0:8080;
|
||||
listen [::]:8080;
|
||||
|
||||
server_name faas.ralsina.me;
|
||||
@@ -276,7 +277,7 @@ server {
|
||||
}
|
||||
|
||||
server {
|
||||
listen 8080;
|
||||
listen 0.0.0.0:8080;
|
||||
listen [::]:8080;
|
||||
|
||||
server_name snips.ralsina.me;
|
||||
@@ -294,7 +295,50 @@ server {
|
||||
}
|
||||
|
||||
server {
|
||||
listen 8080;
|
||||
listen 0.0.0.0:8080;
|
||||
listen [::]:8080;
|
||||
|
||||
server_name metrics.ralsina.me;
|
||||
|
||||
auth_basic "Metrics Dashboard - Restricted Access";
|
||||
auth_basic_user_file /etc/nginx/.htpasswd;
|
||||
|
||||
# Serve static HTML directly
|
||||
location / {
|
||||
root /usr/share/nginx/html/goaccess;
|
||||
try_files /index.html @goaccess;
|
||||
}
|
||||
|
||||
location @goaccess {
|
||||
proxy_pass http://127.0.0.1:7890;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
# WebSocket support
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_read_timeout 86400;
|
||||
}
|
||||
|
||||
# WebSocket endpoint for GoAccess
|
||||
location /ws {
|
||||
proxy_pass http://127.0.0.1:7890;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_read_timeout 86400;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 0.0.0.0:8080;
|
||||
listen [::]:8080;
|
||||
|
||||
server_name covers.ralsina.me;
|
||||
|
Reference in New Issue
Block a user