Sign inSign up

dougeubanks/gogmc320

By dougeubanks

•Updated over 3 years ago

DEPRECATED - unmaintained since 2023. Use dougeubanks/gmc-exporter instead.

Image
0

344

dougeubanks/gogmc320 repository overview

⁠⚠️ This image is no longer maintained

Last built February 2023. Please move to dougeubanks/gmc-exporter⁠.

This image was a container build of the upstream anderskvist/GoGMC320⁠ project, which is no longer developed. This image receives no updates, including security updates.

⁠Replacement

dougeubanks/gmc-exporter⁠ · source: https://github.com/RealDougEubanks/gmc-exporter⁠ · MIT licensed

It is not a fork. It is an independent implementation written from GQ Electronics' published protocol specification (GQ-RFC1201) and from direct measurement of the hardware. It supports the same GMC-series counters and the same radmon.org and InfluxDB destinations, plus Prometheus, MQTT with Home Assistant discovery, OpenTelemetry, GMCMAP and Safecast.

This imagegmc-exporter
Size~353 MB~7 MB
Runs asroot, --privilegednon-root, --device
Destinationsradmon.org, InfluxDB 1.x8 sinks, all optional
Health endpointsnone/healthz, /readyz, /health, /metrics
Platformsamd64amd64, arm64
Maintainednoyes

⁠Why you should move

Two behaviours were measured on a running instance of this image and are worth knowing if you are still using it:

  • It exits on transient network errors. A timeout reaching radmon.org terminates the process. Measured at roughly 24 exits per day.
  • Credentials can reach the container logs. Go embeds the full request URL in transport errors, and the radmon.org API carries the password as a URL parameter, so a failed submission can write it to your logs in plaintext. If you have run this image, consider rotating your radmon.org data-sending password.

Neither is a criticism of the upstream authors; both are simply what the code does, and you should know about the second one.

⁠Migrating

Your existing config.ini keeps working. Its schema is recognised automatically, and InfluxDB defaults to the same measurement and field names so existing dashboards keep matching.

Two changes are needed:

  1. Device access. Add --group-add for the group owning /dev/ttyUSB0 (usually 16, dialout). You can keep your existing volume mapping and privileged setting, or switch to --device=/dev/ttyUSB0 and turn privileged off, which is the better option.
  2. Command. Remove the /config.ini argument. The file is found automatically.
docker run -d --name gmc-exporter \
  --device=/dev/ttyUSB0 \
  --group-add="$(stat -c '%g' /dev/ttyUSB0)" \
  -v /path/to/config.ini:/config.ini:ro \
  -p 9101:9101 \
  dougeubanks/gmc-exporter:latest

Full guide: Migrating from the older GoGMC320 exporter⁠

⁠Existing tags

The latest and 2 tags remain published so nothing breaks for anyone pinned to them. They will not be updated.

Tag summary

Content type

Image

Digest

sha256:6acf7b8b0…

Size

352.7 MB

Last updated

over 3 years ago

docker pull dougeubanks/gogmc320