Weather maps backed by data from the Automatic Position Reporting System (APRS).
Deployed at: hamwx.bielstein.dev
Before running, you'll have to set a value for the APRS_IS_CALLSIGN
environment variable.
This value will be used for APRS-IS login.
The full application can be run locally using docker compose up -d --build
.
Once that is complete, load http://localhost:80
in your browser or use http://localhost:5148/WeatherReports
to test the backend.
Once finished, it can be shut down with docker compose down
.
Note: If running the client docker container directly, please add --build-arg ENVIRONMENT=Development
to avoid including page view analytics code.
To run without docker containers, which is helpful for debugging or quickly iterating on UI changes, run the following steps:
- Find and replace
%ENVIRONMENT%
withDevelopment
in src/AprsWeatherClient/wwwroot/index.html. This uses the development appsettings file when running the client. Careful not to commit this change in git. - Launch the frontend and backend by opening a terminal for each the server and client, changing to each directory (i.e.
src/AprsWeatherClient
andsrc/AprsWeatherServer
), and executingdotnet run
ordotnet watch
, as desired. - Point your browser to
http://localhost:5184/
This application deploys with DigitalOcean App Platform.
It has full continuous deployment for any code pushed/merged to main
.
To bootstrap the deployment, use the doctl command line to deploy the application. Once deployed, take the application ID and save it as a GitHub Actions secret so it can be used for future updates and deployments.
Good resources for finding and viewing APRS reports and gridsquare locations (good for debugging):
- Google Maps APRS (APRS.fi)
- Amateur Radio Ham Radio Maidenhead Grid Square Locator Map
- GridMapper by QRZ Ham Radio
Visitor analytics reporting is handled by Plausible.io. A script is added during deployment to report analytics data to them. When forking this repository, please remove or update src/AprsWeatherClient/deploy/analytics.sh.