70 lines
3.0 KiB
Markdown
Executable File
70 lines
3.0 KiB
Markdown
Executable File
<div align="center">
|
|
<img src="docs/logo.png" alt="drawing" width="200"/>
|
|
<h1 align="center">Aviation Data</h1>
|
|
</div>
|
|
|
|
## Makefile
|
|
* `make` or `make help` to list all commands
|
|
* `make docker-up` to start all containers
|
|
* `make docker-clean` to stop and delete all containers, volumes, and networks related
|
|
to the application
|
|
|
|
## Setup
|
|
|
|
1. Override any environment variables in `.env.local`
|
|
2. Build the required images. Running just `make build` will build the `nginx` image
|
|
* `make build f=nginx`
|
|
* `make build f=api`
|
|
* `make build f=ui`
|
|
3. Generate the SSL certificates with `make cert d=<DOMAIN>`
|
|
* Running just `make cert` will generate `localhost` certificates
|
|
4. Run the application with `make up`
|
|
|
|
### Production Environment
|
|
The most likely to change environment variables are the following:
|
|
* `UI_PORT`
|
|
* `API_PORT`
|
|
* `POSTGRES_PORT`
|
|
* `POSTGRES_PASSWORD` - Please change in production environments
|
|
* `MINIO_HOST` - Match to the `NGINX_HOST` value (see below)
|
|
* `MINIO_ROOT_PASSWORD` - Please change in production environments
|
|
* `NGINX_HOST` - The IP address of the system
|
|
* `NGINX_INTERNAL_HOST` - Typically `host.docker.internal` or `172.17.0.1`
|
|
to allow communication within the docker network
|
|
* `ENVIRONMENT` - Change to `production`
|
|
* `ADMIN_EMAIL` - Please change in production environments
|
|
* `ADMIN_PASSWORD` - Please change in production environments
|
|
* `VITE_API_URL` - Change to the FQDN of the URL that is reachable through the internet.
|
|
For example: `https://aviaation.bensherriff.com`
|
|
* `__VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS` - Change to the domain of the `VITE_API_URL`.
|
|
For example: `aviation.bensherriff.com`
|
|
|
|
If the App is not directly exposed to the internet (i.e., behind another reverse proxy or similar),
|
|
then `NGINX_SSL_ENABLED` most likely should be `false`. The `NGINX_SSL_ENABLED` should only be
|
|
enabled when you need to setup SSL directly. However, the SSL configuration is incomplete, and may
|
|
require additional configuration that is not included in this README.
|
|
* Additionally, run `make cert` to generate certificates.
|
|
|
|
## Data Sources
|
|
|
|
### Airport Data
|
|
|
|
Potential Data sources
|
|
- https://adip.faa.gov/agis/public/#/airportSearch/advanced
|
|
- https://www.icao.int/Aviation-API-Data-Service/Pages/default.aspx
|
|
- https://ourairports.com/data/
|
|
- [mborsetti/airportsdata](https://github.com/mborsetti/airportsdata)
|
|
- https://www.iata.org/en/publications/directories/code-search/
|
|
- [openstreet](https://www.openstreetmap.org/#map=13/38.95223/-77.47417)
|
|
|
|
### Metar Data
|
|
Metar data is collected from aviationweather.gov.
|
|
|
|
#### Decoding METARS
|
|
The following resources were used to help decode METARS.
|
|
- [Metar Decode Key PDF](https://www.weather.gov/media/wrh/mesowest/metar_decode_key.pdf)
|
|
- [Metar Decode (NPS EDU)](https://met.nps.edu/~bcreasey/mr3222/files/helpful/DecodeMETAR-TAF.html)
|
|
- [Weather Phenomena](http://www.moratech.com/aviation/metar-class/metar-pg9-ww.html)
|
|
|
|
### OpenMapTiles
|
|
[Generate Vector Tiles](https://openmaptiles.org/docs/generate/generate-openmaptiles/) |