DRAS watches WSR-88D radar sites via the NWS API and sends a Pushover notification — with a radar image attached — when the site's mode, VCP, or operational status changes.
| Mode | Image source | When to choose |
|---|---|---|
| Basic (default) | NWS pre-rendered ridge GIF | Quick setup, single small Go binary, casual use. |
| Advanced | dras-renderer decoding NEXRAD Level II |
Higher-quality rendering, custom range/dimensions, future products. Adds a ~700 MB Python sidecar. |
Set RENDERER_URL to opt into advanced mode; leave it unset for basic.
docker run -d \
-e STATION_IDS=KRAX \
-e PUSHOVER_USER_KEY=<KEY> \
-e PUSHOVER_API_TOKEN=<TOKEN> \
ghcr.io/jacaudi/dras:latestThat's it. Default INTERVAL is 10 minutes per station. See docs/configuration.md for alert toggles and the full env-var matrix.
# docker-compose.yml
services:
dras-renderer:
image: ghcr.io/jacaudi/dras-renderer:latest
restart: unless-stopped
dras:
image: ghcr.io/jacaudi/dras:latest
environment:
RENDERER_URL: http://dras-renderer:8080
PUSHOVER_API_TOKEN: ...
PUSHOVER_USER_KEY: ...
STATION_IDS: KATX,KRAX
depends_on:
- dras-renderer
restart: unless-stoppedThe renderer is namespace-internal; needs egress to *.s3.amazonaws.com. Cold start ~10–30 s while Cartopy hydrates shapefiles (the container pre-warms this).
In-depth docs live under docs/:
- Configuration — every env var, every default.
- Architecture — service split, S3 source, caching, error contract.
- Deployment — Compose / Kubernetes recipes, sizing, networking.
- Development — running locally, testing, CI.
Component-specific READMEs: