HLD
This section covers the High Level Design of the solution which drives the content of this site. The webserver and public DNS servers are located in London and Sheffield providing a public http/https web service for users from any location to use
All of the backend equipment, such as Radios, Storage Databases and WebCams are in Bournemouth
Public / Private & IPSec
The hosting provider gives virtual ESXi hosted instances. They have managed firewalls allowing the relevant public (http/https) access
For the data to populate the websites, all of this is traversed via an IPSec VPN, whereby further actions via rsync via ssh, git + ssh and private APIs
API & JavaScript
The Server Side API is based on Node.js and Express. This allows API calls directly to the Database which are done via the Nginx Reverse Proxy
The Reverse Proxy uses the IPSec VPN to traverse to the private network and is wrapped in the public https/ssl of the webtechnologies domain
Public WebServer, Private SDR and Weather RSsync
The WebServer sits behind the Nginx proxy allowing SSL termination at NGinx and webcontent to be proxied to the upstream apache service
All the HTML, JavaScript and CSS is hosted on the Webserver. It is populated via CI/CD Feed from Gitlab on premis with commits to 'master'
triggering a full rebuild of the site. Ultimately this should be done to a Kubernetes Blue/Green deployment, but is beyond the scope of the module to complete
The Weather website is rsynced from on-premis where monitoring equipment is and content procdued by WeeWX
Development
All Development is done locally and to a SSH Agent based server, allowing commits across environments and publications on merges to 'master'
This ensures that no content is lost or altered in the Development process and all code is backed up to both on-site and AWS S3 storage
Dynamic Content
All the Content from the WSPR Reports is transmitted from QTH IO90BS at 10 minute intervals, pulled from WSPR then loaded into the backend database
API calls then populate the static HTML and CSS within the WSPR pages to give various top 10 and current/latest/SNR information to assist in the
Antenna performance and propergation charateristics of the 40m WSPR frequency
Monitoring/Alerting
Whilst basic, there is enough components and services to make monitoring essential. Nagios is setup to before basic host and service checks
When a server or location becomes unavailable, an email is sent to the admin
Scripts
Two Python scripts were developed and published on Github to scrape data from WSPR and the Weeatherstation
UTC | US - Sanfrancisco | US - Newyork | Spain - Barcelona | UK - London | Russia - Moscow | India - Delhi | Japan - Tokyo | Australia - Melbourne |
---|---|---|---|---|---|---|---|---|