An optional companion tool for Statistics for Strava that makes configuring your statistics dashboard easy and error-free.
This is a web-based configuration editor for Statistics for Strava. Instead of manually editing complex YAML configuration files, you get:
- Guided forms with descriptions for every setting
- Validation that prevents invalid configurations
- Visual editors for complex settings (heart rate zones, FTP history, cron schedules)
- No YAML knowledge required - just fill in the forms
Note: This tool does NOT replace Statistics for Strava — it only helps configure it. You still need the main application to import and display your Strava data.
Screenshot: The dashboard view showing multi-file configuration mode, section mapping, and YAML utilities.
No, it's completely optional! Statistics for Strava works fine with manual YAML editing. Use this tool if you:
- Want a visual interface instead of editing YAML files
- Need help understanding what each configuration option does
- Want validation to catch configuration errors before they cause issues
- Prefer form-based editing with dropdowns, date pickers, and toggles
Prerequisites: Statistics for Strava already installed and running.
# If you DON'T have a .env file yet, copy the example:
cp .env.example .env
# If you ALREADY have a .env file (from Statistics for Strava),
# merge the config tool variables from .env.example into your existing .env
# Always copy the auth config file:
cp .env.config-tool.example .env.config-tool
# Edit .env.config-tool and set a strong SESSION_SECRETNote: If you're sharing a
.envfile with Statistics for Strava, add the config tool variables (DEFAULT_STATS_CONFIG_PATH,DEFAULT_GEAR_MAINTENANCE_PATH,STATS_CMD_RUNNER_URL, etc.) to your existing file rather than overwriting it.
services: # <- Don't add this line if it already exists in your file
# ... your existing Statistics for Strava services ...
config-manager:
image: ghcr.io/dschoepel/stats-for-strava-config-tool:latest
container_name: stats-for-strava-config-tool
restart: unless-stopped
environment:
- TZ=${TZ}
- USERMAP_UID=${USERMAP_UID}
- USERMAP_GID=${USERMAP_GID}
- DEFAULT_STATS_CONFIG_PATH=${DEFAULT_STATS_CONFIG_PATH}
- DEFAULT_GEAR_MAINTENANCE_PATH=${DEFAULT_GEAR_MAINTENANCE_PATH}
volumes:
- ./.env.config-tool:/app/.env # Auth settings (must be writable)
- ./config:/data/config # Stats for Strava config directory
- ./storage:/data/storage # Gear maintenance and storage
- ./logs:/data/logs # Application logs
ports:
- "8092:80"
networks:
- statistics-for-strava-networkdocker compose up -d config-managerNavigate to http://localhost:8092, register your admin password, and start configuring!
For detailed setup options, see the Installation Guide.
| Feature | Description | Details |
|---|---|---|
| Form Editor | Edit all config sections visually | Features |
| Dashboard Editor | Configure widget layouts | Features |
| SFS Console | Run Symfony commands from UI | Console Setup |
| YAML Utility | Validate and combine files | Features |
| Gear Maintenance | Track equipment usage | Features |
| Visual Cron Builder | Build cron expressions visually | Features |
| Document | Description |
|---|---|
| Installation Guide | All setup options (Docker, Standalone, Nginx) |
| Features Guide | Detailed feature documentation |
| SFS Console Setup | Command console setup |
| Troubleshooting | FAQ and common issues |
| Authentication | Auth and security details |
| Developer Guide | Contributing and architecture |
| Section | What It Configures |
|---|---|
| General | App URL, subtitle, profile picture |
| Athlete | Birthday, heart rate zones, weight history, FTP data |
| Appearance | Locale, units, date/time formats |
| Import | Activity import settings, webhooks |
| Metrics | Eddington score, metric groupings |
| Gear | Equipment tracking, recording devices, maintenance |
| Zwift | Zwift level and racing score |
| Integrations | Notifications, AI providers |
| Daemon | Scheduled tasks |
When saving through the form editor, section headers are preserved but inline comments may be removed. If you need to preserve all comments, edit the YAML files manually.
Docker users: Use the container path in settings, not the host path.
- Container path:
/data/config/config.yaml✅ - Host path:
./config/app/config.yaml❌
After saving configuration changes, restart your Statistics for Strava containers for changes to take effect.
Contributing to this project? See the Developer Guide for:
- Architecture overview and code organization
- Component patterns and best practices
- API documentation
- Build and deployment instructions
- Config Tool Issues: GitHub Issues
- Statistics for Strava Docs: statistics-for-strava-docs.robiningelbrecht.be
- Statistics for Strava Issues: robiningelbrecht/strava-statistics
Not affiliated with Strava, Inc. This is a community tool for the Statistics for Strava project.
