kopia lustrzana https://github.com/jedie/PyInventory
136 wiersze
4.0 KiB
Makefile
136 wiersze
4.0 KiB
Makefile
SHELL := /bin/bash
|
|
|
|
all: help
|
|
|
|
help:
|
|
@echo -e '_________________________________________________________________'
|
|
@echo -e '*Deployment* Makefile\n'
|
|
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z0-9 -_]+:.*?## / {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
|
|
|
check-poetry:
|
|
@if [[ "$(shell poetry --version 2>/dev/null)" == *"Poetry"* ]] ; \
|
|
then \
|
|
echo "Poetry found, ok." ; \
|
|
else \
|
|
echo 'Please install poetry first, with e.g.:' ; \
|
|
echo 'make install-poetry' ; \
|
|
exit 1 ; \
|
|
fi
|
|
|
|
install-poetry: ## install or update poetry
|
|
@if [[ "$(shell poetry --version 2>/dev/null)" == *"Poetry"* ]] ; \
|
|
then \
|
|
echo 'Update poetry' ; \
|
|
poetry self update ; \
|
|
else \
|
|
echo 'Install poetry' ; \
|
|
curl -sSL "https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py" | python3 ; \
|
|
fi
|
|
|
|
install: check-poetry ## install requirements to setup project
|
|
poetry install
|
|
|
|
update: check-poetry ## update the sources and docker containers
|
|
git fetch --all
|
|
git pull origin master
|
|
poetry update
|
|
./compose.sh build --pull
|
|
$(MAKE) restart
|
|
|
|
check-compose:
|
|
@if [[ "$(shell poetry run docker-compose --version 2>/dev/null)" = *"docker-compose version"* ]] ; \
|
|
then \
|
|
echo "docker-compose found, ok." ; \
|
|
else \
|
|
echo 'Please install extras first, with e.g.:' ; \
|
|
echo 'make install-compose' ; \
|
|
exit 1 ; \
|
|
fi
|
|
|
|
up: check-compose ## Start containers via docker-compose
|
|
./compose.sh up -d
|
|
$(MAKE) prune
|
|
./compose.sh logs --tail=500 --follow
|
|
|
|
down: ## Stop all containers
|
|
./compose.sh down
|
|
|
|
prune: ## Cleanup docker
|
|
docker system prune --force --all --filter until=4464h
|
|
|
|
build: check-compose ## Update docker container build
|
|
./compose.sh pull
|
|
./compose.sh build --pull
|
|
|
|
init_postgres: ## Create postgres database
|
|
./compose.sh exec postgres ./docker/postgres_init.sh
|
|
|
|
##############################################################################
|
|
|
|
createsuperuser: ## Create super user
|
|
./compose.sh exec django ./manage.sh createsuperuser
|
|
|
|
##############################################################################
|
|
|
|
shell_django: ## Go into bash shell in django container
|
|
./compose.sh exec django /bin/bash
|
|
|
|
shell_postgres: ## Go into bash shell in postgres container
|
|
./compose.sh exec postgres /bin/bash
|
|
|
|
shell_caddy: ## Go into bash shell in caddy container
|
|
./compose.sh exec caddy /bin/ash
|
|
|
|
##############################################################################
|
|
|
|
caddy_environ: ## Prints the caddy environment
|
|
./compose.sh exec caddy /usr/bin/caddy environ
|
|
|
|
##############################################################################
|
|
|
|
logs: ## Display docker logs from all containers
|
|
./compose.sh logs --tail=500 --follow
|
|
|
|
logs_postgres: ## Display docker logs from postgres container
|
|
./compose.sh logs --tail=500 --follow postgres
|
|
|
|
logs_django: ## Display docker logs from django container
|
|
./compose.sh logs --tail=500 --follow django
|
|
|
|
logs_caddy: ## Display docker logs from caddy container
|
|
./compose.sh logs --tail=500 --follow caddy
|
|
|
|
##############################################################################
|
|
|
|
dbbackup: ## Backup database
|
|
./compose.sh exec django ./manage.sh dbbackup
|
|
|
|
dbrestore: ## Restore a database backup
|
|
./compose.sh exec django ./manage.sh dbrestore
|
|
|
|
##############################################################################
|
|
|
|
restart: down up ## Restart all containers
|
|
|
|
upgrade_django: ## Upgrade "django" container and restart it
|
|
$(MAKE) build
|
|
./compose.sh stop django
|
|
$(MAKE) up
|
|
|
|
restart_caddy: ## Restart caddy container
|
|
./compose.sh stop caddy
|
|
$(MAKE) up
|
|
|
|
##############################################################################
|
|
|
|
reload_caddy: ## Reload Caddy server
|
|
./compose.sh exec caddy caddy reload --config /etc/caddy/Caddyfile --adapter caddyfile
|
|
$(MAKE) logs_caddy
|
|
|
|
reload_django: ## Reload server in "django" container
|
|
./compose.sh exec django /django/reload_gunicorn.sh
|
|
./compose.sh logs --tail=500 --follow django
|
|
|
|
##############################################################################
|
|
|
|
.PHONY: help |