gravl command line clients for activity-related services
gravl is available as a Docker image on GitHub Container Registry:
# Minimal image (just the binary)
FROM ghcr.io/bzimmer/gravl:latest AS gravl
FROM scratch
COPY --from=gravl /usr/bin/gravl /usr/bin/gravl
ENTRYPOINT ["/usr/bin/gravl"]
# Or with a base distro if you need shell access
FROM ghcr.io/bzimmer/gravl:latest AS gravl
FROM debian:bookworm-slim
COPY --from=gravl /usr/bin/gravl /usr/bin/gravlAvailable image tags:
ghcr.io/bzimmer/gravl:latest- latest stable releaseghcr.io/bzimmer/gravl:v1.2.3- specific version
brew install bzimmer/tap/gravlStrava requires OAuth2 tokens to access the API on behalf of a user.
gravl includes an oauth subcommand for Strava to start a local web server and guide
you through the authorization flow.
- Register an application at https://www.strava.com/settings/api
to obtain a client ID and client secret. Set the "Authorization Callback Domain" to
localhost. - Export the client credentials as environment variables:
export STRAVA_CLIENT_ID=<your client id> export STRAVA_CLIENT_SECRET=<your client secret>
- Run the OAuth command to start the local authorization server:
gravl strava oauth
- Open a browser to http://localhost:9001. You will be redirected to Strava to authorize the application.
- After authorizing, the browser will display a JSON document containing the access and refresh tokens.
- Copy the refresh token and set it as an environment variable:
export STRAVA_REFRESH_TOKEN=<your refresh token>
