# Simple Makefile to build and run Docker container for PSLA using log2sql.py
PORT=5000
APP_NAME=psla
APP_DIR=psla
# HELP
# This will output the help for each task
# thanks to https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
.PHONY: help
help: ## This help.
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
.DEFAULT_GOAL := help
# DOCKER TASKS
# Build the container
build: ## Build the container
docker build -t $(APP_NAME) $(APP_DIR)
build-nc: ## Build the container without caching
docker build --no-cache -t $(APP_NAME) $(APP_DIR)
run: ## Run container on port
# Create logs dir if it doesn't already exist so it can be mounted as a volume in the container
mkdir -p $(APP_DIR)/logs
docker run --rm -p=$(PORT):$(PORT) --name="$(APP_NAME)" -v `pwd`/$(APP_DIR)/logs:/logs $(APP_NAME)
up: build run ## Run container on port (Alias to run)
stop: ## Stop and remove a running container
docker stop $(APP_NAME); docker rm $(APP_NAME)