The world's first Open Source Emergency Warning System Dissemination Platform.
The EWS4All initiative calls for:
Every person on Earth to be protected by early warning systems within by 2027.
We're helping to achieve this goal by building and certifying OpenEWS - the world's first Open Source Emergency Warning System Dissemination Platform.
ποΈ OpenEWS is intended to be used by alerting authorities to disseminate warning messages to beneficiaries in case of a natural disaster or other public emergency. It's actively being used by the following alerting authorities:
National Committee for Disaster Management (NCDM) NCDM is the central agency responsible for disaster risk management in Cambodia. It uses OpenEWS to disseminate alerts across the country via SMS and other channels.
Department of Meteorology and Hydrology (DMH) DMH is the national authority for weather forecasting and hydrological monitoring in Laos. It uses OpenEWS to issue timely warnings about severe weather events to at-risk communities.
-
π―ββοΈ Aesthetically Beautiful OpenEWS is designed with a modern and intuitive user interface thatβs clean, accessible, and easy on the eyes, helping users focus on what matters: saving lives.
-
π§ Easy to Use Whether you're a disaster management official or a local responder, OpenEWS is built to be straightforward and user-friendly, with minimal training required.
-
π£οΈ Localizable OpenEWS supports localization, allowing the platform to be fully translated and adapted to any language, including right-to-left and non-Latin scripts like Khmer and Lao.
-
π Interoperable OpenEWS integrates easily with mobile network operators, government databases, and early warning protocols. It is designed to be API-driven and works across diverse communication channels including SMS, IVR, and Cell Broadcast.
-
π Free and Open Source Built under the permissive MIT License, OpenEWS is fully open-source. Anyone can inspect, use, and contribute to the codebase, no vendor lock-in, no hidden costs.
-
β DPG Certified OpenEWS meets the Digital Public Goods Standard and is certified as a Digital Public Good. This ensures the platform adheres to key principles like privacy, openness, and do-no-harm.
OpenEWS integrates seamlessly with Somleng right out of the box to deliver emergency warning messages to beneficiaries.
Somleng is an open-source, DPG Certified Telc 8000 o-as-a-Service (TaaS) and Communications Platform-as-a-Service (CPaaS). It enables low-cost, scalable communication infrastructureβespecially in low-resource settings.
Local Mobile Network Operators (MNOs) can use Somleng to distribute Early Warning System (EWS) alerts across the following channels:
- π² Voice Alerts (IVR) β Interactive voice calls to inform and instruct.
- π¬ SMS β Text-based warnings in local languages.
- πΌ Cell Broadcast β Area-based alerts sent to all phones in a coverage zone.
This guide will help you get OpenEWS running locally using Docker. It is the fastest way to get started for development and testing purposes.
Before you begin, ensure you have the following installed on your system:
git clone https://github.com/open-ews/open-ews.git
cd open-ews
Run the following command to build and start the application:
docker-compose up --build
This will:
- Build the Docker containers
- Start the web app and PostgreSQL
Run the following command to seed the database:
docker compose exec open-ews bundle exec rails db:setup
This will:
- Create the database
- Seed the database with sample data
After the command runs, it will output:
- The user credentials for logging into the web interface
- The API key for authenticating with the API
π Be sure to copy and store this information somewhere safe during development.
Once the services are up, open your browser and navigate to:
http://my-alerting-authority.app.lvh.me:3000
You should see the OpenEWS application running and you can login with the credentials from the output above.
You can interact with the OpenEWS API using your generated API key. Here's how to create a beneficiary using cURL
.
curl -X POST http://api.lvh.me:3000/v1/beneficiaries \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-H "Content-Type: application/vnd.api+json" \
-d '{
"data": {
"type": "beneficiary",
"attributes": {
"phone_number": "+85510999999",
"iso_country_code": "KH"
}
}
}'
Replace YOUR_API_KEY_HERE
with the actual key that was displayed when running rails db:setup
.
If successful, the API will respond with the details of the newly created beneficiary in JSON format.
π You can find more API endpoints and usage examples in the upcoming OpenEWS API documentation.
-
Rebuild containers:
docker-compose up --build
-
Stop the application:
docker-compose down
If you run into any issues, feel free to open an issue or start a discussion in the GitHub Issues tab.
The infrastructure directory contains Terraform configuration files in order to deploy OpenEWS to AWS.
The infrastructure in this repository depends on some shared core infrastructure. This core infrastructure can be found in The Somleng Project repository.
The software is available as open source under the terms of the MIT License.