{"id":14426356,"url":"https://github.com/ArthurMitchell42/nutcase","last_synced_at":"2025-08-25T16:31:52.887Z","repository":{"id":210430812,"uuid":"725837903","full_name":"ArthurMitchell42/nutcase","owner":"ArthurMitchell42","description":"A NUT and APCd UPS data conversion bridge and graphic UI  to link to both Prometheus metrics and JSON format for HomePage/Uptime Kuma etc.","archived":false,"fork":false,"pushed_at":"2024-08-11T11:09:30.000Z","size":5742,"stargazers_count":23,"open_issues_count":1,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-09-08T05:12:03.502Z","etag":null,"topics":["apcups","apcupsd","grafana","monitoring","network-ups-tools","nut-tools","nuttools","power","prometheus","prometheus-exporter","ups","uptimekuma"],"latest_commit_sha":null,"homepage":"https://arthurmitchell42.github.io/nutcase/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArthurMitchell42.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":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-01T01:11:55.000Z","updated_at":"2024-08-29T14:22:05.000Z","dependencies_parsed_at":"2024-06-12T17:24:28.609Z","dependency_job_id":"58129fda-bea5-446e-90aa-b4d5f9dab6c1","html_url":"https://github.com/ArthurMitchell42/nutcase","commit_stats":{"total_commits":131,"total_committers":3,"mean_commits":"43.666666666666664","dds":0.3740458015267175,"last_synced_commit":"6f16db77f89fa63ba5825393b1ef9da4610c4b7f"},"previous_names":["arthurmitchell42/nutcase"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurMitchell42%2Fnutcase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurMitchell42%2Fnutcase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurMitchell42%2Fnutcase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurMitchell42%2Fnutcase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArthurMitchell42","download_url":"https://codeload.github.com/ArthurMitchell42/nutcase/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230923310,"owners_count":18300984,"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":["apcups","apcupsd","grafana","monitoring","network-ups-tools","nut-tools","nuttools","power","prometheus","prometheus-exporter","ups","uptimekuma"],"created_at":"2024-08-30T07:00:52.178Z","updated_at":"2024-12-23T06:30:50.467Z","avatar_url":"https://github.com/ArthurMitchell42.png","language":"Python","funding_links":["https://www.paypal.com/donate?hosted_button_id=N6F4E9YCD5VC8"],"categories":["Python"],"sub_categories":[],"readme":"\u003ch1\u003eNUTCase\u003c/h1\u003e\n\n[\u003cimg src=\"https://img.shields.io/badge/paypal-donate-blue.svg?logo=paypal\u0026style=for-the-badge\"\u003e](https://www.paypal.com/donate?hosted_button_id=N6F4E9YCD5VC8)\n[![Release](https://img.shields.io/github/release/ArthurMitchell42/nutcase.svg?logo=github\u0026style=for-the-badge)](https://github.com/ArthurMitchell42/nutcase/releases/latest)\n[![Docker Image Size](https://img.shields.io/docker/image-size/kronos443/nutcase/latest?logo=docker\u0026style=for-the-badge)](https://hub.docker.com/r/kronos443/nutcase/tags)\n[![Docker Pulls](https://img.shields.io/docker/pulls/kronos443/nutcase?label=Pulls\u0026logo=docker\u0026style=for-the-badge)](https://hub.docker.com/r/kronos443/nutcase)\n[![Docker Stars](https://img.shields.io/docker/stars/kronos443/nutcase?label=Stars\u0026logo=docker\u0026style=for-the-badge)](https://hub.docker.com/r/kronos443/nutcase)\n\n[![Docker Build](https://github.com/ArthurMitchell42/nutcase/actions/workflows/docker-image.yml/badge.svg)](https://github.com/ArthurMitchell42/nutcase/actions/workflows/docker-image.yml)\n[![Docker build and push release tag \u0026 latest](https://github.com/ArthurMitchell42/nutcase/actions/workflows/docker-build-release.yml/badge.svg)](https://github.com/ArthurMitchell42/nutcase/actions/workflows/docker-build-release.yml)\n\n\u003e [!TIP]\n\u003e ### News: [V0.4.0.2 is released](https://github.com/ArthurMitchell42/nutcase/discussions/66) 12/10/2024\n\n## A **Network UPS Tools (NUT)** and **APC daemon** exporter working with Prometheus and any JSON compatible application and GUI\n\n### Key features\n* Acts as a **drop in replacement** for other NUT scrapers such as HON95 prometheus nut exporter\n* A [graphic interface](https://github.com/ArthurMitchell42/nutcase/wiki/The-GUI) showing key data over time with diagnostic information. \u003ca href=\"https://github.com/ArthurMitchell42/nutcase/wiki/The-GUI\"\u003e\u003cimg src=\"https://img.shields.io/badge/New_in_V0.3.0-8A2BE2\"\u003e\u003c/a\u003e\n* Supports pulling data from NUT and APC servers, formatting the UPS metrics for the [Prometheus](https://prometheus.io/) logging system\n* Supports formatting the UPS data as JSON for use with the beautiful [HomePage](https://gethomepage.dev/) app.\n* The JSON output can be used with [Uptime Kuma](https://github.com/louislam/uptime-kuma) and other reporting, alerting and monitoring apps.\n* Provides diagnostic and usage information.\n* Supports APC apcupsd servers for graphic display **and** metric scraping - **Use one Prometheus and Grafana dashboard for all servers.**\n* Supports filtering of JSON elements to support simple monitoring apps. See [Filtering the JSON](https://github.com/ArthurMitchell42/nutcase/wiki/Using-the-JSON-returned-by-NUTCase#filtering-the-json-) \u003ca href=\"https://github.com/ArthurMitchell42/nutcase/wiki/Using-the-JSON-returned-by-NUTCase#filtering-the-json-\"\u003e\u003cimg src=\"https://img.shields.io/badge/New_in_V0.3.0-8A2BE2\"\u003e\u003c/a\u003e\n\n![image](https://github.com/ArthurMitchell42/nutcase/assets/82239494/6fbfa4d8-7cbc-4882-9e8e-ac3907e70d9a)\n\n### What it does for you\n\n![Structure](https://github.com/ArthurMitchell42/nutcase/blob/6e7b52aa5cd89663476fa5558ab05a15233967aa/resources/structure_v2.png)\n\nNUTCase sits between any nuber of UPS servers, either NUT or APC, and converts the UPS parameters in to either text metrics suitable for use with data caputre systems like Prometheus or JSON.\nThe JSON is ideal for monitoring or display on dashboard systems such as HomePage.\n\n\u003ch3 id=\"links-refs\"\u003eLinks \u0026 References\u003c/h3\u003e\n\nThe docker container:\n\u003e https://hub.docker.com/repository/docker/kronos443/nutcase\n\nSource code:\n\u003e https://github.com/ArthurMitchell42/nutcase\n\nThe Wiki for usage information and advice:\n\u003e https://github.com/ArthurMitchell42/nutcase/wiki\n\n\u003ch3 id=\"architectures\"\u003eSupported Architectures\u003c/h3\u003e\n\u003cp\u003e\nCurrently supports 'AMD64', 'ARM64 (ARM64V8)' (suitable for running on docker under Raspberry PI with a 64-bit OS such as Raspberry PI OS 64-bit and Ubuntu 64-bit)'\n\u003cbr\u003e\n\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr bgcolor=\"lightblue\"\u003e\u003cth align=\"center\"\u003eArchitecture\u003c/th\u003e\n\u003cth\u003eTag\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003eAMD64\u003c/td\u003e\n\u003ctd\u003elatest-amd64 For PC and Synology DSM\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003eARM64V8 (ARM64)\u003c/td\u003e\n\u003ctd\u003earm64v8-latest. For Raspberry PI with a 64-bit OS (RaspberryPI OS 64-bit or Ubuntu 64-bit\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\u003c/table\u003e\n\n[Contents](#contents)\n\n\u003ch3 id=\"history\"\u003eHistory \u0026 Versions\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr bgcolor=\"lightblue\"\u003e\u003cth align=\"center\"\u003eDate\u003c/th\u003e\n\u003cth\u003eVersion\u003c/th\u003e\n\u003cth\u003eNotes\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e12/10/2024\u003c/td\u003e\n\u003ctd align=\"left\"\u003e0.4.0.2\u003c/td\u003e\n\u003ctd align=\"left\"\u003eBug fix: provent crash when a device does not supply a battery.runtime value\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e28/7/2024\u003c/td\u003e\n\u003ctd align=\"left\"\u003e0.4.0.0\u003c/td\u003e\n\u003ctd align=\"left\"\u003eAdded logging and various fixes.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e7/3/2024\u003c/td\u003e\n\u003ctd align=\"left\"\u003e0.3.3\u003c/td\u003e\n\u003ctd align=\"left\"\u003eAdd a check for release updates on the GUI, prep-work for next major release.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e22/2/2024\u003c/td\u003e\n\u003ctd align=\"left\"\u003e0.3.2\u003c/td\u003e\n\u003ctd align=\"left\"\u003eCorrect re-work of cl-count miss reading data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e19/2/2024\u003c/td\u003e\n\u003ctd align=\"left\"\u003e0.3.1\u003c/td\u003e\n\u003ctd align=\"left\"\u003eFix for start crash Re missing config file\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e3/2/2024\u003c/td\u003e\n\u003ctd align=\"left\"\u003e0.3.0\u003c/td\u003e\n\u003ctd align=\"left\"\u003eNew GUI and many more features.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e12/1/2024\u003c/td\u003e\n\u003ctd align=\"left\"\u003e0.2.2\u003c/td\u003e\n\u003ctd align=\"left\"\u003eCorrected potential crash re rework-\u003eratio.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e22/12/2023\u003c/td\u003e\n\u003ctd align=\"left\"\u003e0.2.1\u003c/td\u003e\n\u003ctd align=\"left\"\u003eCorrected error relating to the query port command.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e16/12/2023\u003c/td\u003e\n\u003ctd align=\"left\"\u003e0.2.0\u003c/td\u003e\n\u003ctd align=\"left\"\u003eAPC Support with other features, See GitHub notes.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e01/12/2023\u003c/td\u003e\n\u003ctd align=\"left\"\u003e0.1.0\u003c/td\u003e\n\u003ctd align=\"left\"\u003eInitial release.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\u003c/table\u003e\n\n\u003ch3 id=\"contents\"\u003eContents\u003c/h3\u003e\n\nGetting started\n  * [Instalation](https://github.com/ArthurMitchell42/nutcase/wiki/Running-the-NUTCase-container)\n  * [Accessing Nutcase](https://github.com/ArthurMitchell42/nutcase/wiki/Accessing-and-Using-NUTCase)\n  * [Configuring NUTCase](https://github.com/ArthurMitchell42/nutcase/wiki/The-Configuration-File)\n\nUsing NUTCase\n  * [Working with the GUI](https://github.com/ArthurMitchell42/nutcase/wiki/The-GUI)\n  * [Working with HomePage](https://github.com/ArthurMitchell42/nutcase/wiki/Customising-the-data-displayed-on-the-HomePage-app)\n  * [Working with other JSON consumers](https://github.com/ArthurMitchell42/nutcase/wiki/Using-the-JSON-returned-by-NUTCase)\n  * [Interfacing to Prometheus \u0026 Grafana](https://github.com/ArthurMitchell42/nutcase/wiki/Using-with-Prometheus-and-Grafana)\n\nAdvanced useage\n  * [Customising data for HomePage and UptimeKuma](https://github.com/ArthurMitchell42/nutcase/wiki/Customising-the-Data-Displayed-on-the-HomePage-App)\n  * [With APC devices](https://github.com/ArthurMitchell42/nutcase/wiki/NUTCase-and-APC's-apcupsd)\n  * [Custom variables](https://github.com/ArthurMitchell42/nutcase/wiki/Reworking-variables-using-the-configuration-file)\n  * [WebHooks](https://github.com/ArthurMitchell42/nutcase/wiki/WebHooks)\n\n[Contents](#contents)\n\n\u003ch3 id=\"credits\"\u003eCredits\u003c/h3\u003e\n\u003cp\u003e\nCredit goes to the HON95 container which gave inspiration to the metrics function.\n\u003c/p\u003e\n\n[Contents](#contents)\n\n\u003ch3 id=\"support\"\u003eSupport\u003c/h3\u003e\n\u003cp\u003e\u003cb\u003eIf you find this container useful then please consider\u003c/b\u003e \u003ca href=\"https://www.paypal.com/donate?hosted_button_id=N6F4E9YCD5VC8\"\u003ebuying me a coffee by following this link or scanning the QR below.\u003c/a\u003e :smiley: :coffee:\u003c/p\u003e\n\n\u003ca href=\"https://www.paypal.com/donate?hosted_button_id=N6F4E9YCD5VC8\"\u003e \u003cimg src=\"http://www.ajwm.uk/dockerdonate.jpg\" alt=\"Please consider donating\" width=\"120\" height=\"120\"\u003e \u003c/a\u003e\n\n[Contents](#contents)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FArthurMitchell42%2Fnutcase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FArthurMitchell42%2Fnutcase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FArthurMitchell42%2Fnutcase/lists"}