Get WIS2 Downloader running and downloading data in a few minutes.
Prerequisites
-
Docker 20.10+
-
Docker Compose 2.0+
-
Network access to a WIS2 Global Broker (port 443)
1. Download and Extract
Download the latest release tarball and extract it:
tar -xzf wis2downloader-*.tar.gz
cd wis2downloader-*
To follow the latest development version instead, clone the repository: git clone https://github.com/World-Meteorological-Organization/wis2downloader.git
|
2. Configure
Run the setup script to create a .env file with randomised secrets:
bash setup.sh
This copies default.env to .env and generates random values for FLASK_SECRET_KEY and REDIS_PASSWORD. Review .env and adjust any settings if needed — the defaults are suitable for a single-machine deployment.
Keep .env secure. It contains credentials and should not be committed to version control.
|
3. Set Up Download Directory
The containers run as a non-root user (UID 10001, GID 988). On Linux you must set up the downloads directory before starting:
sudo groupadd -g 988 wis2
sudo useradd -u 10001 -g wis2 -M -s /usr/sbin/nologin wis2
mkdir -p downloads
sudo chown wis2:wis2 downloads
| On macOS and Windows (Docker Desktop) this step is not required — Docker Desktop handles volume permissions automatically. |
If you cannot create a matching user, see the Volume Permissions section of the Admin Guide for ACL-based alternatives.
4. Start Services
docker compose up -d
This starts all services: subscription manager, MQTT subscribers (France and Brazil Global Brokers), Celery download workers, Redis, Prometheus, Grafana, and Loki.
Check everything is running:
docker compose ps
Wait for the subscription-manager health check to pass (about 30 seconds), then confirm it is up:
curl http://localhost:5002/health
5. Create a Subscription
Via the Web Interface (recommended)
Open http://localhost:8080 in your browser.
Use the Catalogue View or Tree View to browse available WIS2 datasets, select a topic, choose a save directory, and click Subscribe.
Via the API
curl -X POST http://localhost:5002/subscriptions \
-H "Content-Type: application/json" \
-d '{
"topic": "cache/a/wis2/+/data/core/weather/surface-based-observations/#",
"target": "surface-obs"
}'
This subscribes to all surface-based observations from any data centre and saves them under downloads/surface-obs/.
6. View Downloads
Files appear under the downloads/ directory, organised by date:
ls -la downloads/surface-obs/
Monitor download activity in Grafana at http://localhost:3000 (default login: admin / admin).
| Change the default Grafana password after first login. |
Next Steps
| Guide | What it covers |
|---|---|
Using the web interface, creating and managing subscriptions, filtering data |
|
Security hardening, scaling, environment variables, monitoring, maintenance |
|
Full REST API documentation; interactive Swagger UI at |
|
Architecture, module internals, extending the system |