services: garmin-activity-loader: build: . container_name: garmin-activity-loader restart: unless-stopped # Same owner as the data folder on the host. user: "1000:1000" environment: # Required: Garmin Connect credentials (use .env file) - GARMIN_EMAIL=${GARMIN_EMAIL} - GARMIN_PASSWORD=${GARMIN_PASSWORD} # Activity types handed to fit-monitor (comma-separated Garmin type # keys; a parent key like "cycling" includes its sub types). Everything # else is only archived. List the keys with: # docker compose run --rm garmin-activity-loader types - GARMIN_IMPORT_TYPES=${GARMIN_IMPORT_TYPES:-} - GARMIN_POLL_INTERVAL=${GARMIN_POLL_INTERVAL:-5m} - GARMIN_LOG_LEVEL=${GARMIN_LOG_LEVEL:-info} - TZ=${TZ:-Europe/Berlin} volumes: # archive/ holds every activity, import/ the selected types (mounted # into fit-monitor), plus state file and login tokens. - /srv/garmin-activity-loader/data:/data logging: driver: "json-file" options: max-size: "10m" max-file: "3"