Skip to content

Quick Setup

  1. Clone the repository

    Terminal window
    git clone https://github.com/mlorentedev/garsync.git
    cd garsync
  2. Run setup Ensure you have Python 3.12+ and Node.js 22+ installed.

    Terminal window
    make setup
  3. Configure Secrets GarSync uses SOPS for secure credential management. The file is encrypted to garsync’s dedicated age identity, and sops cannot infer the format from .enc, so name both:

    Terminal window
    # Opens your default editor
    SOPS_AGE_KEY_FILE=~/.config/age/garsync.txt \
    sops --input-type dotenv --output-type dotenv secrets.env.enc

    Add your Garmin credentials:

    GARMIN_EMAIL=user@example.com
    GARMIN_PASSWORD=yourpassword
  4. First Sync Fetch your last 30 days of activity and biometrics.

    Terminal window
    make sync DAYS=30
  5. Start the Dashboard Launch the development environment:

    Terminal window
    make dev

    Visit http://localhost:4321 to see your data!

To run GarSync permanently on your server:

Terminal window
make build && make run

The application will be accessible at http://localhost:8000.