Self-Hosted Strava Weather Integration

Rain or Shine

Automatically add customizable, multi-point weather data to all your Strava activities. Choose which metrics to track, select start/middle/end points, and pick your preferred units.

View on GitHub

Features

Everything you need to track weather conditions for your activities

Multi-Point Weather Tracking
Track weather at start, middle, and/or end of your activities. Perfect for long rides where conditions change throughout the journey.
Fully Customizable Fields
Choose exactly which weather metrics to display: condition, temperature, feels-like, humidity, wind speed/direction, and visibility.
Your Preferred Units
Select metric or imperial units. Configure how the middle point is calculated: by elapsed time or distance covered.
Automatic Updates
Weather is automatically fetched and added to your activity descriptions when you upload to Strava.
Location-Accurate
Weather data is fetched for the exact location and time of each point in your activity.
Privacy First
Self-host on your own infrastructure. Your data never leaves your control.
Historical Data
Get weather data for past activities, not just new ones. Perfect for filling in missing data.
Real-Time Processing
Webhook integration means weather is added within seconds of uploading to Strava.

How It Works

Simple, automatic weather tracking for every activity

Upload Activity

Record and upload your activity to Strava as normal

Fetch Weather

Rain or Shine automatically fetches weather for your activity location and time

View Results

Weather data appears in your activity description on Strava

Example Weather Data
This is what gets added to your Strava activity descriptions

Single Point (Basic):

Clear sky, 18°C, Feels like 18°C, Humidity 82%, Wind 4.1m/s from W

Multi-Point (Advanced):

Start: Clear sky, 15°C, Feels like 14°C, Humidity 72%, Wind 3.2m/s from NW

Middle: Partly cloudy, 22°C, Feels like 24°C, Humidity 68%, Wind 4.5m/s from W

End: Overcast, 18°C, Feels like 17°C, Humidity 78%, Wind 5.1m/s from SW

Configure which points and fields to include in your dashboard settings

Customized for Your Training Needs

Unlike Strava's single-point weather snapshot, Rain or Shine gives you complete control

Multi-Point Tracking
Track weather changes throughout your activity
Start point: Conditions at activity beginning
Middle point: Calculated by time or distance
End point: Finishing conditions
Enable any combination of points
Granular Field Control
Choose exactly which weather metrics to display
Weather condition description
Temperature and feels-like
Humidity percentage
Wind speed and direction
Visibility distance
Metric or imperial units

Getting Started

Recommended5 minutes
Deploy to Railway

One-click deployment with automatic database setup

Deploy to Railway
Get Your API Keys

Strava API (2 minutes)

  1. Go to Strava API Settings
  2. Create an app (use your deployment domain for callback)
  3. Save your Client ID and Secret

OpenWeatherMap API (2 minutes)

  1. Sign up at OpenWeatherMap
  2. Get your free API key (1000 calls/day)
  3. Note: Key activates in ~10 minutes
Alternative: Deploy with Docker

Rain or Shine can be deployed to any platform that supports Docker: DigitalOcean, AWS, Google Cloud, Azure, or any VPS.

See the deployment guide for platform-specific Docker deployment instructions.

Common Issues & Solutions

Strava OAuth Error

Problem: "Invalid redirect URI" or similar OAuth errors

Solution: Make sure your Strava app's callback domain matches your APP_URL. Use your actual domain without "https://".

Weather Data Not Appearing

Problem: Activities don't show weather data

Solution: Check that your OpenWeatherMap API key is active (can take 10-15 minutes after signup). Also ensure the activity has location data - indoor activities won't have weather data.

Database Connection Failed

Problem: Can't connect to PostgreSQL

Solution: Verify your DATABASE_URL is correct and PostgreSQL is running. The format should be: postgresql://username:password@localhost:5432/rain_or_shine

Frequently Asked Questions

Is this free to use?

Yes! The code is open source. You'll only pay for hosting if you choose a paid service. Railway and many cloud providers offer free tiers perfect for personal use. The OpenWeatherMap free tier (1,000 calls/day) is more than enough for a single user.

Will this work with my Garmin/Wahoo/other device?

Yes! Rain or Shine works with any activity uploaded to Strava, regardless of how it was recorded. As long as the activity has location data, weather will be added.

Can I use this for my club or team?

The current version is designed for single-user personal use. Multi-user support would require Strava API approval. However, each team member could set up their own instance.

Does this modify my original activity data?

No. Weather data is only added to the activity description field. Your original activity data (distance, time, power, heart rate, etc.) remains unchanged.

How is this different from Strava's built-in weather?

Strava's Weather Kit provides a single snapshot of conditions at the start of your activity. Rain or Shine extends this by offering multi-point tracking (start, middle, end) so you can see how conditions changed during long activities, granular field selection to choose exactly which metrics matter to you, configurable middle-point calculation (by time or distance), and self-hosted privacy control. It's perfect for endurance athletes who need detailed weather analytics.

What about privacy?

When you self-host, all your data stays under your control. The app only communicates with Strava (for activities) and OpenWeatherMap (for weather). No data is sent anywhere else, and there's no analytics or tracking.

Can I customize the weather data?

Yes! The app offers extensive customization through your dashboard: choose metric or imperial units, select which weather fields to display (condition, temperature, feels-like, humidity, wind, visibility), pick whether to track start/middle/end points, and configure how the middle point is calculated (by time or distance). All settings are immediately applied to new activities.

Ready to Track Your Weather?

Set up Rain or Shine today and never forget the conditions of your epic (or terrible) weather days.

View Source Code