{"id":25648886,"url":"https://github.com/itsmunim/secure-grafana-proxy","last_synced_at":"2026-06-21T00:35:16.880Z","repository":{"id":277438241,"uuid":"928810593","full_name":"itsmunim/secure-grafana-proxy","owner":"itsmunim","description":"A test implementation of authenticated, authorized proxy for a privately hosted Grafana.","archived":false,"fork":false,"pushed_at":"2025-02-13T23:29:28.000Z","size":111,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-23T13:39:59.389Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itsmunim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-07T09:29:31.000Z","updated_at":"2025-02-17T16:59:02.000Z","dependencies_parsed_at":"2025-02-13T23:44:16.155Z","dependency_job_id":null,"html_url":"https://github.com/itsmunim/secure-grafana-proxy","commit_stats":null,"previous_names":["itsmunim/secure-grafana-proxy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/itsmunim/secure-grafana-proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsmunim%2Fsecure-grafana-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsmunim%2Fsecure-grafana-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsmunim%2Fsecure-grafana-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsmunim%2Fsecure-grafana-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itsmunim","download_url":"https://codeload.github.com/itsmunim/secure-grafana-proxy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsmunim%2Fsecure-grafana-proxy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34590214,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-23T13:37:29.335Z","updated_at":"2026-06-21T00:35:16.852Z","avatar_url":"https://github.com/itsmunim.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Secure Grafana Proxy\nA secure proxy service that enables authenticated and authorized access to privately hosted Grafana instances. This solution allows you to safely embed Grafana panels and dashboards within your web applications while maintaining strict access control. The implementation demonstrates best practices for secure Grafana integration through a proxy layer.\n\n## Usecases\nThis proxy solution is ideal for scenarios where you need to securely embed Grafana panels in your web application:\n\n1. You have a private, self-hosted Grafana instance that needs to remain secure\n2. Your application implements authentication and authorization, and you want to ensure only authorized users can access specific Grafana panels\n3. You need to abstract away sensitive Grafana implementation details (URLs, query parameters, etc.) behind a secure proxy endpoint\n\nFor example, this enables you to safely embed monitoring dashboards in your SaaS platform while maintaining control over access and keeping your Grafana infrastructure private.\n\n## How to Test\n\n### Project Setup\n\n```bash\n$ npm install\n```\n\n```bash\n# start the grafana and verify at http://localhost:3000\n$ docker-compose up\n```\n\nThe Grafana instance comes pre-configured with a sample dashboard containing mock data panels for testing purposes. The configuration details can be found in the `grafana/provisioning` directory. When setting up your own Grafana instance, ensure its configuration aligns with the properties defined in `grafana/grafana.ini` to maintain compatibility with the proxy service.\n\n### Run the Service\n\n```bash\n$ npm run start\n# or\n$ npm run start:dev # watch mode\n```\nOnce the service is running, you can access the demo application at [http://localhost:8080](http://localhost:8080). The demo interface provides a practical example of how Grafana panels can be securely embedded within your web application.\n\n**Note:** The service is implemented using [NestJS](https://nestjs.com/), though the core concepts can be adapted to any other frameworks. For proxying functionality, it leverages the `http-proxy-middleware` package which provides HTTP proxy capabilities.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsmunim%2Fsecure-grafana-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitsmunim%2Fsecure-grafana-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsmunim%2Fsecure-grafana-proxy/lists"}