This Docker application fetches local and marine weather forecasts for Alaska's Pribilof Islands - St. Paul Island (99660) and St. George Island (99591) - using the NOAA/NWS API.
- Local Forecasts: 7-day weather forecasts for both Pribilof Islands
- Marine Forecasts: Marine weather for Pribilof Islands Nearshore Waters (PKZ766)
- Automatic Updates: Configurable update interval (default: 1 hour)
- Data Persistence: Saves forecasts in both JSON and text formats
- Separate Files: Individual files for each island and marine forecasts
- Free API: Uses NOAA's free National Weather Service API and text products
Environment variables (set in docker-compose.yml):
ZIP_CODES: Comma-separated list of zip codes (default: "99660,99591")UPDATE_INTERVAL: Update interval in seconds (default: 3600 = 1 hour)TZ: Timezone (set to: America/Anchorage)
The application saves forecast data to the /data volume:
/data/latest_forecast.json: All forecast data in JSON format/data/latest_forecast.txt: All forecasts in human-readable format
/data/st._paul_island_99660.json: St. Paul Island data (JSON)/data/st._paul_island_99660.txt: St. Paul Island forecast (text)/data/st._george_island_99591.json: St. George Island data (JSON)/data/st._george_island_99591.txt: St. George Island forecast (text)
/data/pribilof_island_waters.json: Marine forecast data (JSON)/data/pribilof_island_waters.txt: Marine forecast (text)
- PKZ766: Pribilof Islands Nearshore Waters (Bering Sea)
docker-compose up -d weather-forecastdocker-compose logs -f weather-forecast./view_status.shdocker-compose down weather-forecastThe application includes comprehensive health monitoring to ensure data integrity:
- API availability tracking - Records every fetch attempt
- Stale forecast detection - Alerts if forecasts are >12 hours old
- Outage detection - Tracks when NWS API is down
- Uptime statistics - Calculates reliability percentage
- Status reports - Generates
forecast_report.txt - Never serves fake data - Only real-time NOAA forecasts
cat data/forecast_report.txtOr use the helper script:
./view_status.shThe report shows:
- Current API status (online/offline/stale)
- Uptime percentage per location
- Stale forecast warnings
- Recent outage history
- Active alerts
View all forecasts (combined):
cat /opt/dockers/weather-forecast/data/latest_forecast.txtView St. Paul Island forecast:
cat /opt/dockers/weather-forecast/data/st._paul_island_99660.txtView St. George Island forecast:
cat /opt/dockers/weather-forecast/data/st._george_island_99591.txtView marine forecast (Pribilof Islands Nearshore Waters):
cat /opt/dockers/weather-forecast/data/pribilof_island_waters.txtdocker-compose down weather-forecastThis application uses multiple NOAA data sources:
-
Local Forecasts: NOAA National Weather Service API
- API: https://api.weather.gov
- No API key required
- Documentation: https://www.weather.gov/documentation/services-web-api
-
Marine Forecasts: NOAA Text Products
- Source: https://tgftp.nws.noaa.gov/data/raw/fz/fzak52.pafc.cwf.alu.txt
- Updates: Multiple times daily
- Includes Small Craft Advisories and marine conditions
- St. Paul Island (99660): 57.1253°N, 170.2806°W
- St. George Island (99591): 56.5983°N, 169.5464°W
- Marine Zone PKZ766: Pribilof Islands Nearshore Waters (Bering Sea)