{"id":27976417,"url":"https://github.com/tschaefer/rpinfo","last_synced_at":"2026-06-20T04:31:17.861Z","repository":{"id":291737205,"uuid":"977066460","full_name":"tschaefer/rpinfo","owner":"tschaefer","description":"Raspberry Pi information 🍌","archived":false,"fork":false,"pushed_at":"2025-09-09T16:44:56.000Z","size":319,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-09T20:00:26.912Z","etag":null,"topics":["golang","grafana-dashboard","metrics","prometheus","raspberrypi","rest-api","vcgencmd"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tschaefer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-03T10:54:08.000Z","updated_at":"2025-09-09T16:42:54.000Z","dependencies_parsed_at":"2025-06-17T16:30:53.068Z","dependency_job_id":"7e813427-df37-4a22-af30-4366eb5003f7","html_url":"https://github.com/tschaefer/rpinfo","commit_stats":null,"previous_names":["tschaefer/rpinfo"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/tschaefer/rpinfo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tschaefer%2Frpinfo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tschaefer%2Frpinfo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tschaefer%2Frpinfo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tschaefer%2Frpinfo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tschaefer","download_url":"https://codeload.github.com/tschaefer/rpinfo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tschaefer%2Frpinfo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34557551,"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":["golang","grafana-dashboard","metrics","prometheus","raspberrypi","rest-api","vcgencmd"],"created_at":"2025-05-08T01:26:32.944Z","updated_at":"2026-06-20T04:31:17.856Z","avatar_url":"https://github.com/tschaefer.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rpinfo\n\n**rpinfo** is a lightweight RESTful API server written in Go that exposes\ndetailed system information for Raspberry Pi devices. It utilizes the\n`vcgencmd` utility to provide real-time hardware data such as CPU temperature,\nvoltages, firmware configuration, throttling status and clock frequencies.\n\n## Features\n\n- Exposes Raspberry Pi system metrics via a clean RESTful API\n- Supports optional bearer token authentication\n- Configurable host and port via command-line flags\n- Fast and efficient Go implementation\n- Ideal for integration with dashboards, monitoring tools, or automation scripts\n\n## Getting Started\n\n### Prerequisites\n\n- Raspberry Pi running a Linux-based OS (e.g., Raspberry Pi OS)\n- `vcgencmd` utility (preinstalled on Raspberry Pi OS)\n\n### Installation and Usage\n\nDownload the latest release from the [releases page](https://github.com/tschaefer/rpinfo/releases).\n\nStart the server on `localhost:8080` by default.\n\n```bash\n./rpinfo server\n```\nFor further configuration, see the command-line options below.\n\n| Flag                 | Description                                     | Default      |\n|----------------------|-------------------------------------------------|--------------|\n| `-H`, `--host`       | Host to bind the server to                      | `localhost`  |\n| `-p`, `--port`       | Port to run the server on                       | `8080`       |\n| `-a`, `--auth`       | Enable bearer token authentication              | `false`      |\n| `-t`, `--token`      | Bearer token used for authentication            |              |\n| `-m`, `--metrics`    | Enable Prometheus metrics endpoint              | `false`      |\n| `-r`, `--redoc`      | Enable ReDoc API documentation                  | `false`      |\n| `-f`, `--log-format` | Set log format: `structured`, `json`            | `structured` |\n| `-l`, `--log-level`  | Set log level: `debug`, `info`, `warn`, `error` | `info`       |\n| `-h`, `--help`       | Show help for the server command                |              |\n\nAdditional a systemd service file and environment file are provided in the\n[contrib directory](https://github.com/tschaefer/rpinfo/tree/main/contrib) for automatic startup on boot and management of the\nserver.\n\n## API Endpoints\n\n| Endpoint                  | Description                    |\n|---------------------------|--------------------------------|\n| `/configuration`          | Returns firmware configuration |\n| `/temperature`            | Returns CPU temperature        |\n| `/throttled(?human=true)` | Returns throttling status      |\n| `/voltages`               | Returns voltages               |\n| `/clock`                  | Returns clock frequencies      |\n\nAll endpoints return JSON-formatted data.\n\nThe complete API specification is available at `/redoc`.\n\nAdditionally, the server supports an optional `/metrics` endpoint for\nPrometheus exposing clock, temperature, and voltage gauges.\n\n## Security Notes\n\n- If authentication is enabled, all API calls must include the `Authorization`\nheader with the valid bearer token.\n- Use strong and random tokens.\n- Consider running the server behind HTTPS if exposed publicly.\n\n## Contributing\n\nContributions are welcome! Please fork the repository and submit a pull request.\nFor major changes, open an issue first to discuss what you would like to change.\n\nEnsure that your code adheres to the existing style and includes appropriate tests.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftschaefer%2Frpinfo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftschaefer%2Frpinfo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftschaefer%2Frpinfo/lists"}