diff --git a/bundles/grafana/metadata.py b/bundles/grafana/metadata.py index 2928a29..144657c 100644 --- a/bundles/grafana/metadata.py +++ b/bundles/grafana/metadata.py @@ -129,10 +129,7 @@ def nginx(metadata): 'nginx': { 'vhosts': { metadata.get('grafana/hostname'): { - 'content': 'nginx/proxy_pass.conf', - 'context': { - 'target': 'http://127.0.0.1:8300', - } + 'content': 'grafana/vhost.conf', }, }, }, diff --git a/data/grafana/vhost.conf b/data/grafana/vhost.conf new file mode 100644 index 0000000..c8c395e --- /dev/null +++ b/data/grafana/vhost.conf @@ -0,0 +1,28 @@ +map $http_upgrade $connection_upgrade { + default upgrade; + '' close; +} + +server { + listen 443 ssl http2; + listen [::]:443 ssl http2; + server_name ${server_name}; + + ssl_certificate /var/lib/dehydrated/certs/${server_name}/fullchain.pem; + ssl_certificate_key /var/lib/dehydrated/certs/${server_name}/privkey.pem; + + location / { + proxy_set_header Host $http_host; + proxy_pass http://127.0.0.1:8300/; + } + + # Proxy Grafana Live WebSocket connections. + location /api/live { + rewrite ^/(.*) /$1 break; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_set_header Host $http_host; + proxy_pass http://127.0.0.1:8300/; + } +}