# 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: 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}