tmpl-fastapi/Makefile

65 lines
1.2 KiB
Makefile
Raw Normal View History

# Default host and port values
APP_HOST ?= 0.0.0.0
APP_PORT ?= 8000
# Main commands
dev:
python3 -m dotenv -f version_code run \
python3 -m dotenv -f .env_debug run \
make xcmd-dev
prod:
python3 -m dotenv -f version_code run \
python3 -m gunicorn \
-w 4 -k uvicorn.workers.UvicornWorker \
-b $${APP_HOST}:$${APP_PORT} main:app
# Code checking
format:
python3 -m autopep8 -r --in-place app/
check:
python3 -m mypy app/
python3 -m pylint app/
# Docker
docker:
2023-03-01 15:05:20 +03:00
python3 -m dotenv -f version_code run \
make xcmd-docker-build
docker-build:
python3 -m dotenv -f version_code run \
make xcmd-docker-build
docker-push:
python3 -m dotenv -f version_code run \
make xcmd-docker-push
docker-run:
docker compose -f ./docker-compose.yml up -d
# Clear cache and binaries
clean:
rm -rf \
__pycache__ \
app/__pycache__ \
app/*/__pycache__ \
.mypy_cache \
app.egg-info \
dist
# Helpers, should not be used directly
xcmd-dev:
python3 -m uvicorn main:app \
--reload \
--host $${APP_HOST} \
--port $${APP_PORT}
xcmd-docker-build:
docker build \
-t ${REPO_OWNER_LOWER}/${REPO_NAME_KEBAB}:latest \
-t ${REPO_OWNER_LOWER}/${REPO_NAME_KEBAB}:$${VERSION} .
xcmd-docker-push:
docker push -a ${REPO_OWNER_LOWER}/${REPO_NAME_KEBAB}