You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.1 KiB
Makefile
48 lines
1.1 KiB
Makefile
.PHONY: format help
|
|
|
|
# Help system from https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
|
|
.DEFAULT_GOAL := help
|
|
|
|
help:
|
|
@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
|
|
|
|
setup: ## Establish local environment with dependencies installed
|
|
python3 -m venv .venv
|
|
.venv/bin/pip install -r requirements.txt
|
|
mkdir -p data/uploads
|
|
|
|
setup-dev: ## Install development dependencies
|
|
.venv/bin/pip install -r requirements-dev.txt
|
|
|
|
build: ## Build containers
|
|
docker-compose build
|
|
|
|
up: ## Start containers
|
|
docker-compose up -d
|
|
|
|
down: ## Stop containers
|
|
docker-compose down
|
|
|
|
logs: ## View container logs
|
|
docker-compose down
|
|
|
|
dbshell: ## Start interactive database session
|
|
sqlite3 data/sqlite.db
|
|
|
|
shell: ## Start Flask CLI shell
|
|
./manage.sh shell
|
|
|
|
init: ## Initialize SQLite DB
|
|
./manage.sh init
|
|
|
|
dev: ## Start Flask development web server
|
|
./manage.sh run
|
|
|
|
prod: ## Start Gunicorn production web server
|
|
./manage.sh prod
|
|
|
|
restart: ## Restart everything
|
|
$(pkill -e -f gunicorn || echo)
|
|
docker-compose down
|
|
docker-compose up -d
|
|
./manage.sh prod
|