{"id":20284561,"url":"https://github.com/artyom/grafanaweb","last_synced_at":"2025-10-17T10:01:49.064Z","repository":{"id":21755939,"uuid":"25077926","full_name":"artyom/grafanaweb","owner":"artyom","description":"Self-contained web server and reverse proxy to host Grafana backed by InfluxDB","archived":false,"fork":false,"pushed_at":"2015-02-12T11:21:51.000Z","size":136,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-14T08:09:11.742Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/artyom.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}},"created_at":"2014-10-11T12:49:17.000Z","updated_at":"2017-02-23T22:23:12.000Z","dependencies_parsed_at":"2022-08-19T22:00:14.988Z","dependency_job_id":null,"html_url":"https://github.com/artyom/grafanaweb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artyom%2Fgrafanaweb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artyom%2Fgrafanaweb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artyom%2Fgrafanaweb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artyom%2Fgrafanaweb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artyom","download_url":"https://codeload.github.com/artyom/grafanaweb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241780465,"owners_count":20019058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-11-14T14:20:17.776Z","updated_at":"2025-10-17T10:01:48.986Z","avatar_url":"https://github.com/artyom.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Grafanaweb\n\nThis is a self-contained web server and reverse proxy to host [Grafana][] used\nwith [InfluxDB][] backend. It is presumed that both InfluxDB and this server\nrun on the same host or in same safe network.\n\n[Grafana]: http://grafana.org\n[InfluxDB]: http://influxdb.com\n\n## Installing\n\nTo install `grafanaweb` and `bcryptpasswd` (see below) commands, execute:\n\n\tgo get -v github.com/artyom/grafanaweb/...\n\n`grafanaweb` usage:\n\n\tUsage of grafanaweb:\n\t  -auth=false: use basic authentication (needs -authfile to be set)\n\t  -authfile=\"\": path to file with \"username:brypt_hash\" credential records\n\t  -cert=\"\": path to cert.pem file (only if -ssl used)\n\t  -key=\"\": path to key.pem file (only if -ssl used)\n\t  -listen=\"127.0.0.1:8080\": address to listen\n\t  -prefix=\"/db/\": url prefix to db (should finish with /)\n\t  -proxy=\"http://127.0.0.1:8086\": url to proxy prefix matched requests\n\t  -root=\"/var/lib/grafana\": path to grafana files\n\t  -ssl=false: use https instead of http (needs both -cert and -key options set)\n\n## Configuring Grafana\n\nConsider you have InfluxDB API listening on 127.0.0.1:8086. You can place\ngrafana files on the same host, modify its `config.js` file to something like\nthis (note relative URLs):\n\n\tdatasources: {\n\t\tinfluxdb: {\n\t\t\ttype: 'influxdb',\n\t\t\turl: \"/db/test\",\n\t\t\tusername: 'admin',\n\t\t\tpassword: 'admin',\n\t\t},\n\t\tgrafana: {\n\t\t\ttype: 'influxdb',\n\t\t\turl: \"/db/grafana\",\n\t\t\tusername: 'admin',\n\t\t\tpassword: 'admin',\n\t\t\tgrafanaDB: true\n\t\t},\n\t},\n\n## Basic Setup (development, trusted network, etc.)\n\nYou can host your setup via http like this:\n\n\tgrafanaweb -listen=:80 -root=/path/to/grafana/files\n\n## Hardened setup (internet-facing host): https + authentication\n\nFor running in HTTPS mode you'll need certificate and key in PEM format. If you\ndon't have one, try this command:\n\n\tgo run $(go env GOROOT)/src/pkg/crypto/tls/generate_cert.go -host=YOUR_HOST_IP_OR_HOSTNAME\n\nCreate credentials file, entering password for \"admin\" user (enter your\npassword to stdin):\n\n\tbcryptpasswd admin \u003e\u003e /path/to/htpasswd.bcrypt\n\nThen run server in ssl mode with self-signed certificate created and http basic authentication enabled:\n\n\tgrafanaweb -listen=:443 \\\n\t\t-ssl -key=/path/to/key.pem -cert=/path/to/cert.pem \\\n\t\t-auth -authfile=/path/to/htpasswd.bcrypt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartyom%2Fgrafanaweb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartyom%2Fgrafanaweb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartyom%2Fgrafanaweb/lists"}