agenda_culturel/Makefile
2025-04-21 14:16:35 +02:00

116 lines
3.0 KiB
Makefile

include .env
export $(shell sed 's/=.*//' .env)
SHELL := /bin/sh
PROJECTNAME ?= agenda_culturel
APP_NAME := $(PROJECTNAME)
BACKEND_APP_NAME := $(APP_NAME)-backend
REDIS_APP_NAME := $(APP_NAME)-redis
DOCKERCOMPOSE=$(shell if command -v docker-compose 2>&1 >/dev/null; then echo "docker-compose"; else echo "docker compose"; fi)
define HELP
Manage $(PROJECTNAME). Usage:
make lint Run linter
make format Run formatter
make test Run tests
make super-user Create super user
make make-migrations Make migrations
make migrate Migrate
make build-dev Build and run dev environment
make stop-dev Stop dev environment
make stop-prod Stop prod environment
make build-prod Build and run prod environment
make restar-prod Restart prod environment
make all Show help
endef
export HELP
help:
@echo "$$HELP"
lint:
@bash ./scripts/lint.sh
format:
@bash ./scripts/format.sh
test:
@bash ./scripts/test.sh
super-user:
docker exec -it $(BACKEND_APP_NAME) sh "-c" \
"python manage.py createsuperuser"
make-migrations:
docker exec -it $(BACKEND_APP_NAME) $(SHELL) "-c" \
"python manage.py makemigrations"
migrate:
docker exec -it $(BACKEND_APP_NAME) $(SHELL) "-c" \
"python manage.py migrate"
create-categories:
docker exec -it $(BACKEND_APP_NAME) $(SHELL) "-c" \
"python3 manage.py runscript create_categories"
create-reference-locations:
docker exec -it $(BACKEND_APP_NAME) $(SHELL) "-c" \
"python3 manage.py runscript create_reference_locations"
cleanup-unused-media:
docker exec -it $(BACKEND_APP_NAME) $(SHELL) "-c" \
"python3 manage.py cleanup_unused_media"
make-translations:
docker exec -it $(BACKEND_APP_NAME) $(SHELL) "-c" \
"python3 manage.py makemessages --locale fr"
build-translations:
docker exec -it $(BACKEND_APP_NAME) $(SHELL) "-c" \
"python3 manage.py compilemessages"
build-dev:
DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 $(DOCKERCOMPOSE) -f docker-compose.yml up --build -d
build-dev-log:
DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 $(DOCKERCOMPOSE) -f docker-compose.yml up --build
build-prod:
DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 $(DOCKERCOMPOSE) -f docker-compose.prod.yml up --build -d
build-prod-log:
DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 $(DOCKERCOMPOSE) -f docker-compose.prod.yml up --build
stop-dev:
@$(DOCKERCOMPOSE) -f docker-compose.yml down
stop-prod:
@$(DOCKERCOMPOSE) -f docker-compose.prod.yml down
up-dev: #use up-dev to attach a running environment and have an access to the logs
@$(DOCKERCOMPOSE) -f docker-compose.yml up
up-prod:
@$(DOCKERCOMPOSE) -f docker-compose.prod.yml up
restart-backend-prod:
$(DOCKERCOMPOSE) -f docker-compose.prod.yml restart backend
clean-builder-cache: # useful for huge overlay directory
docker builder prune
restart-prod:
DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 $(DOCKERCOMPOSE) -f docker-compose.prod.yml restart
clear-redis:
docker exec -i $(REDIS_APP_NAME) redis-cli FLUSHALL
all: help
.PHONY: help lint format test super-user make-migrations migrate build-dev build-prod stop-dev stop-prod all