Docker image for jaroslawhartman/withings-sync.
docker run -it -e GARMIN_USERNAME=<YOUR_GARMIN_USER> -e GARMIN_PASSWORD=<YOUR_GARMIN_PASSWORD> -v $HOME:/data ghcr.io/maruina/docker-withings-sync:latest /bin/bash
# From inside the container
withings-sync -f 2019-01-25 -vFor more information visit https://github.com/jaroslawhartman/withings-sync#obtaining-withings-authorization-code.
docker run -e GARMIN_USERNAME=<YOUR_GARMIN_USER> -e GARMIN_PASSWORD=<YOUR_GARMIN_PASSWORD> -v $HOME:/data ghcr.io/maruina/docker-withings-sync:latestFor more information visit https://github.com/jaroslawhartman/withings-sync#usage.
| Environment Variable | Default | Description |
|---|---|---|
GARMIN_USERNAME |
(required) | Garmin account username |
GARMIN_PASSWORD |
(required) | Garmin account password |
SYNC_INTERVAL |
21600 |
Sync interval in seconds (default: 6 hours) |
DATA_DIR |
/data |
Directory for persistent data (OAuth tokens) |
A Helm chart is available in charts/docker-withings-sync.
helm install withings-sync charts/docker-withings-sync \
--set garmin.username=<YOUR_GARMIN_USER> \
--set garmin.password=<YOUR_GARMIN_PASSWORD>Or use an existing secret:
kubectl create secret generic withings-garmin \
--from-literal=GARMIN_USERNAME=<YOUR_GARMIN_USER> \
--from-literal=GARMIN_PASSWORD=<YOUR_GARMIN_PASSWORD>
helm install withings-sync charts/docker-withings-sync \
--set garmin.existingSecret=withings-garminBefore the first automated run, obtain a Withings authorization code interactively. The Helm install notes will print the exact kubectl run command to use.
The chart creates a PersistentVolumeClaim by default to store the Withings OAuth tokens. To use an existing PVC:
helm install withings-sync charts/docker-withings-sync \
--set persistence.existingClaim=my-existing-pvc \
--set garmin.existingSecret=withings-garminSee charts/docker-withings-sync/values.yaml for all available options.
The Docker image and Helm chart are released independently.
- Merge dependency updates (Renovate PRs) or bump
WITHINGS_SYNC_COMMITin theDockerfile. - release-drafter automatically maintains a draft GitHub release on every push to
main. - Review and publish the draft release. This creates a
v*tag, which triggers thebuild.yamlworkflow to build and pushghcr.io/maruina/docker-withings-sync:<version>.
The chart defaults to the Docker image tag matching appVersion in Chart.yaml (see image.tag in values.yaml). After publishing a new Docker image release, open a separate PR to:
- Update
appVersionincharts/docker-withings-sync/Chart.yamlto the new image version. - Bump
versioninChart.yaml(the chart version itself).
When this PR merges, the chart-release.yaml workflow packages and publishes the chart via chart-releaser.