Updated makefile/dockerfile/compose files
This commit is contained in:
@@ -1,15 +1,15 @@
|
||||
RUST_LOG=warn,service=info
|
||||
|
||||
DATABASE_USER=weather
|
||||
DATABASE_USER=aviation
|
||||
DATABASE_PASSWORD=
|
||||
DATABASE_NAME=weather
|
||||
DATABASE_NAME=aviation
|
||||
DATABASE_HOST=db
|
||||
DATABASE_PORT=5432
|
||||
|
||||
REDIS_HOST=redis
|
||||
REDIS_PORT=6379
|
||||
|
||||
MINIO_ROOT_USER=weather
|
||||
MINIO_ROOT_USER=aviation
|
||||
MINIO_ROOT_PASSWORD=
|
||||
MINIO_HOST=localhost
|
||||
MINIO_PORT=9000
|
||||
|
||||
15
Makefile
15
Makefile
@@ -1,9 +1,10 @@
|
||||
#!make
|
||||
SHELL := /bin/bash
|
||||
|
||||
GIT_HASH ?= $(shell git log --format="%h" -n 1)
|
||||
|
||||
include .env
|
||||
|
||||
SHELL := /bin/bash
|
||||
|
||||
.PHONY: help build start stop lint
|
||||
|
||||
help: ## This info
|
||||
@@ -12,7 +13,7 @@ help: ## This info
|
||||
@echo
|
||||
|
||||
build: ## Build Docker containers
|
||||
docker compose build
|
||||
export TAG=${GIT_HASH} && docker compose build
|
||||
|
||||
up: ## Start Docker containers
|
||||
docker compose up -d
|
||||
@@ -22,10 +23,10 @@ down: ## Stop Docker containers
|
||||
|
||||
clean: ## Cleanup Docker containers
|
||||
docker compose down && \
|
||||
docker image rm weather-ui || \
|
||||
docker image rm weather-service || \
|
||||
docker network rm weather-frontend || \
|
||||
docker network rm weather-backend
|
||||
docker image rm aviation-ui || \
|
||||
docker image rm aviation-service || \
|
||||
docker network rm aviation-frontend || \
|
||||
docker network rm aviation-backend
|
||||
|
||||
generate: ## Generate RSA keys
|
||||
mkdir keys
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
version: '3'
|
||||
|
||||
name: weather
|
||||
name: aviation
|
||||
services:
|
||||
db:
|
||||
image: postgis/postgis:latest
|
||||
container_name: weather-db
|
||||
container_name: aviation-db
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
@@ -19,19 +19,19 @@ services:
|
||||
networks:
|
||||
- backend
|
||||
restart: unless-stopped
|
||||
|
||||
redis:
|
||||
image: redis:latest
|
||||
container_name: weather-redis
|
||||
container_name: aviation-redis
|
||||
volumes:
|
||||
- redis:/data
|
||||
ports:
|
||||
- ${REDIS_PORT:-6379}:6379
|
||||
networks:
|
||||
- backend
|
||||
restart: unless-stopped
|
||||
|
||||
minio:
|
||||
image: minio/minio
|
||||
container_name: weather-minio
|
||||
container_name: aviation-minio
|
||||
environment:
|
||||
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
|
||||
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
|
||||
@@ -46,25 +46,30 @@ services:
|
||||
restart: unless-stopped
|
||||
|
||||
service:
|
||||
container_name: weather-service
|
||||
container_name: aviation-service
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
KEYS_DIR_PATH: /keys
|
||||
volumes:
|
||||
- ${KEYS_DIR_PATH}:/keys
|
||||
ports:
|
||||
- "${SERVICE_PORT:-5000}:5000"
|
||||
build:
|
||||
context: service
|
||||
tags:
|
||||
- aviation-service:${TAG:-latest}
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
- minio
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
restart: unless-stopped
|
||||
|
||||
ui:
|
||||
container_name: weather-ui
|
||||
container_name: aviation-ui
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
@@ -73,6 +78,8 @@ services:
|
||||
- ${UI_PORT:-3000}:3000
|
||||
build:
|
||||
context: ui
|
||||
tags:
|
||||
- aviation-ui:${TAG:-latest}
|
||||
depends_on:
|
||||
- service
|
||||
networks:
|
||||
@@ -82,6 +89,7 @@ services:
|
||||
volumes:
|
||||
db:
|
||||
db_logs:
|
||||
redis:
|
||||
minio:
|
||||
|
||||
networks:
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
RUST_LOG=warn,service=debug
|
||||
|
||||
DATABASE_CONTAINER=weather-service
|
||||
DATABASE_CONTAINER=aviation-service
|
||||
|
||||
DATABASE_USER=weather
|
||||
DATABASE_USER=aviation
|
||||
DATABASE_PASSWORD=
|
||||
DATABASE_NAME=weather
|
||||
DATABASE_NAME=aviation
|
||||
DATABASE_HOST=localhost
|
||||
DATABASE_PORT=5432
|
||||
|
||||
@@ -12,7 +12,7 @@ REDIS_HOST=localhost
|
||||
REDIS_PORT=6379
|
||||
|
||||
MINIO_ROOT_USER=weather
|
||||
MINIO_ROOT_PASSWORD=7LtSkxU15ix40nu
|
||||
MINIO_ROOT_PASSWORD=
|
||||
MINIO_HOST=localhost
|
||||
MINIO_PORT=9000
|
||||
MINIO_PORT_INTERNAL=9001
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#!make
|
||||
SHELL := /bin/bash
|
||||
|
||||
GIT_HASH ?= $(shell git log --format="%h" -n 1)
|
||||
|
||||
include .env
|
||||
|
||||
.PHONY: help build start stop lint
|
||||
@@ -11,7 +13,7 @@ help: ## This info
|
||||
@echo
|
||||
|
||||
build: ## Build the Docker image
|
||||
docker compose build
|
||||
export TAG=${GIT_HASH} && docker compose build
|
||||
|
||||
utils: ## Start the utils
|
||||
docker compose up -d db
|
||||
@@ -24,14 +26,14 @@ up: ## Start the Docker containers
|
||||
down: ## Stop the Docker containers
|
||||
docker compose down
|
||||
|
||||
connect: ## Connect to the Weather DB
|
||||
connect: ## Connect to the PSQL DB
|
||||
docker exec -it ${DATABASE_CONTAINER} psql -U postgres
|
||||
|
||||
clean: ## Cleanup Docker containers
|
||||
docker compose down && \
|
||||
docker image rm weather-service || \
|
||||
docker network rm weather-frontend || \
|
||||
docker network rm weather-backend
|
||||
docker image rm aviation-service || \
|
||||
docker network rm aviation-frontend || \
|
||||
docker network rm aviation-backend
|
||||
|
||||
clean-db: ## Remove database
|
||||
docker exec -i ${DATABASE_CONTAINER} sh -c 'PGPASSWORD=${DATABASE_PASSWORD} psql -U ${DATABASE_USER} -d postgres -c "DROP DATABASE IF EXISTS \"${DATABASE_NAME}\";"'
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
version: '3'
|
||||
|
||||
name: weather
|
||||
name: aviation
|
||||
services:
|
||||
db:
|
||||
image: postgis/postgis:latest
|
||||
container_name: weather-db
|
||||
container_name: aviation-db
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
@@ -21,7 +21,7 @@ services:
|
||||
restart: unless-stopped
|
||||
redis:
|
||||
image: redis:latest
|
||||
container_name: weather-redis
|
||||
container_name: aviation-redis
|
||||
volumes:
|
||||
- redis:/data
|
||||
ports:
|
||||
@@ -31,7 +31,7 @@ services:
|
||||
restart: unless-stopped
|
||||
minio:
|
||||
image: minio/minio
|
||||
container_name: weather-minio
|
||||
container_name: aviation-minio
|
||||
environment:
|
||||
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
|
||||
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
|
||||
@@ -46,7 +46,7 @@ services:
|
||||
restart: unless-stopped
|
||||
|
||||
service:
|
||||
container_name: weather-service
|
||||
container_name: aviation-service
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
@@ -63,9 +63,12 @@ services:
|
||||
- "${SERVICE_PORT:-5000}:5000"
|
||||
build:
|
||||
context: .
|
||||
tags:
|
||||
- aviation-service:${TAG:-latest}
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
- minio
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
#!make
|
||||
|
||||
SHELL := /bin/bash
|
||||
|
||||
GIT_HASH ?= $(shell git log --format="%h" -n 1)
|
||||
|
||||
include .env
|
||||
|
||||
.PHONY: help build start stop lint
|
||||
|
||||
help: ## This info
|
||||
@@ -10,7 +13,7 @@ help: ## This info
|
||||
@echo
|
||||
|
||||
build: ## Install the dependencies and build
|
||||
docker compose build
|
||||
export TAG=${GIT_HASH} && docker compose build
|
||||
|
||||
up: ## Start the dev instance
|
||||
docker compose up -d
|
||||
@@ -23,4 +26,4 @@ lint: ## Run the linter
|
||||
|
||||
clean: ## Remove node modules
|
||||
docker compose down && \
|
||||
docker image rm weather-ui
|
||||
docker image rm aviation-ui
|
||||
@@ -1,9 +1,9 @@
|
||||
version: '3'
|
||||
|
||||
name: weather
|
||||
name: aviation
|
||||
services:
|
||||
ui:
|
||||
container_name: weather-ui
|
||||
container_name: aviation-ui
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
@@ -13,6 +13,8 @@ services:
|
||||
build:
|
||||
context: ./
|
||||
target: dev
|
||||
tags:
|
||||
- aviation-ui:${TAG:-latest}
|
||||
command: "npm run dev"
|
||||
volumes:
|
||||
- ./src:/app/src
|
||||
|
||||
@@ -8,19 +8,15 @@ export default function CreateAirportPanel() {
|
||||
initialValues: {
|
||||
icao: '',
|
||||
category: AirportCategory.SMALL,
|
||||
full_name: '',
|
||||
name: '',
|
||||
elevation_ft: 0,
|
||||
iso_country: '',
|
||||
iso_region: '',
|
||||
municipality: '',
|
||||
gps_code: '',
|
||||
iata_code: '',
|
||||
local_code: '',
|
||||
point: {
|
||||
x: 0,
|
||||
y: 0,
|
||||
srid: 4326
|
||||
}
|
||||
latitude: 0,
|
||||
longitude: 0,
|
||||
}
|
||||
});
|
||||
|
||||
@@ -46,6 +42,11 @@ export default function CreateAirportPanel() {
|
||||
{ value: AirportCategory.SMALL, label: 'Small' },
|
||||
{ value: AirportCategory.MEDIUM, label: 'Medium' },
|
||||
{ value: AirportCategory.LARGE, label: 'Large' },
|
||||
{ value: AirportCategory.HELIPORT, label: 'Heliport' },
|
||||
{ value: AirportCategory.CLOSED, label: 'Closed' },
|
||||
{ value: AirportCategory.SEAPLANE, label: 'Seaplane Base' },
|
||||
{ value: AirportCategory.BALLOONPORT, label: 'Balloonport' },
|
||||
{ value: AirportCategory.UNKNOWN, label: 'Unknown'}
|
||||
]}
|
||||
{...form.getInputProps('category')}
|
||||
/>
|
||||
@@ -53,7 +54,7 @@ export default function CreateAirportPanel() {
|
||||
required
|
||||
label='Full Name'
|
||||
placeholder='Manassas Regional Airport/Harry P. Davis Field'
|
||||
{...form.getInputProps('full_name')}
|
||||
{...form.getInputProps('name')}
|
||||
/>
|
||||
<TextInput
|
||||
required
|
||||
@@ -82,12 +83,6 @@ export default function CreateAirportPanel() {
|
||||
/>
|
||||
</Group>
|
||||
<Group>
|
||||
<TextInput
|
||||
required
|
||||
label='GPS Code'
|
||||
placeholder='KHEF'
|
||||
{...form.getInputProps('gps_code')}
|
||||
/>
|
||||
<TextInput
|
||||
label='IATA Code'
|
||||
placeholder='MNZ'
|
||||
@@ -104,13 +99,13 @@ export default function CreateAirportPanel() {
|
||||
required
|
||||
label='Latitude'
|
||||
placeholder='38.72140121'
|
||||
{...form.getInputProps('point.x')}
|
||||
{...form.getInputProps('latitude')}
|
||||
/>
|
||||
<TextInput
|
||||
required
|
||||
label='Longitude'
|
||||
placeholder='-77.51540375'
|
||||
{...form.getInputProps('point.y')}
|
||||
{...form.getInputProps('longitude')}
|
||||
/>
|
||||
</Group>
|
||||
<Flex justify={'end'} mt={'sm'}>
|
||||
|
||||
@@ -9,19 +9,15 @@ export default function UpdateAirportModal({ airport, setAirport }: { airport: A
|
||||
initialValues: {
|
||||
icao: airport?.icao || '',
|
||||
category: airport?.category || AirportCategory.SMALL,
|
||||
full_name: airport?.full_name || '',
|
||||
name: airport?.name || '',
|
||||
elevation_ft: airport?.elevation_ft || 0,
|
||||
iso_country: airport?.iso_country || '',
|
||||
iso_region: airport?.iso_region || '',
|
||||
municipality: airport?.municipality || '',
|
||||
gps_code: airport?.gps_code || '',
|
||||
iata_code: airport?.iata_code || '',
|
||||
local_code: airport?.local_code || '',
|
||||
point: {
|
||||
x: airport?.point.x || 0,
|
||||
y: airport?.point.y || 0,
|
||||
srid: airport?.point.srid || 4326
|
||||
}
|
||||
latitude: airport?.latitude || 0,
|
||||
longitude: airport?.longitude || 0,
|
||||
}
|
||||
});
|
||||
|
||||
@@ -56,6 +52,11 @@ export default function UpdateAirportModal({ airport, setAirport }: { airport: A
|
||||
{ value: AirportCategory.SMALL, label: 'Small' },
|
||||
{ value: AirportCategory.MEDIUM, label: 'Medium' },
|
||||
{ value: AirportCategory.LARGE, label: 'Large' },
|
||||
{ value: AirportCategory.HELIPORT, label: 'Heliport' },
|
||||
{ value: AirportCategory.CLOSED, label: 'Closed' },
|
||||
{ value: AirportCategory.SEAPLANE, label: 'Seaplane Base' },
|
||||
{ value: AirportCategory.BALLOONPORT, label: 'Balloonport' },
|
||||
{ value: AirportCategory.UNKNOWN, label: 'Unknown'}
|
||||
]}
|
||||
{...form.getInputProps('category')}
|
||||
/>
|
||||
@@ -63,7 +64,7 @@ export default function UpdateAirportModal({ airport, setAirport }: { airport: A
|
||||
required
|
||||
label='Full Name'
|
||||
placeholder='Manassas Regional Airport/Harry P. Davis Field'
|
||||
{...form.getInputProps('full_name')}
|
||||
{...form.getInputProps('name')}
|
||||
/>
|
||||
<TextInput
|
||||
required
|
||||
@@ -92,12 +93,6 @@ export default function UpdateAirportModal({ airport, setAirport }: { airport: A
|
||||
/>
|
||||
</Group>
|
||||
<Group>
|
||||
<TextInput
|
||||
required
|
||||
label='GPS Code'
|
||||
placeholder='KHEF'
|
||||
{...form.getInputProps('gps_code')}
|
||||
/>
|
||||
<TextInput
|
||||
required
|
||||
label='IATA Code'
|
||||
@@ -116,13 +111,13 @@ export default function UpdateAirportModal({ airport, setAirport }: { airport: A
|
||||
required
|
||||
label='Latitude'
|
||||
placeholder='38.72140121'
|
||||
{...form.getInputProps('point.x')}
|
||||
{...form.getInputProps('latitude')}
|
||||
/>
|
||||
<TextInput
|
||||
required
|
||||
label='Longitude'
|
||||
placeholder='-77.51540375'
|
||||
{...form.getInputProps('point.y')}
|
||||
{...form.getInputProps('longitude')}
|
||||
/>
|
||||
</Group>
|
||||
<Flex justify={'end'} mt={'sm'}>
|
||||
|
||||
Reference in New Issue
Block a user