|
| 1 | +# Include variables |
| 2 | +-include .env |
| 3 | +export |
| 4 | + |
| 5 | +# Variables |
| 6 | +DOCKER_VERSION ?= develop |
| 7 | +DOCKER_PLATFORM ?= linux/amd64 |
| 8 | +NODE_ENV ?= production |
| 9 | + |
| 10 | +################################################### |
| 11 | +# HELP ############################################ |
| 12 | +################################################## |
| 13 | +all: |
| 14 | + @awk 'BEGIN {FS = ":.*##"; printf "Usage:\n make \033[36m<target>\033[0m\n\nTargets:\n"}' |
| 15 | + @grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}' |
| 16 | + |
| 17 | +# ################################################ |
| 18 | +# Development #################################### |
| 19 | +# ################################################ |
| 20 | +.PHONY: install dev clean start strapi-build strapi-admin |
| 21 | + |
| 22 | +install: ## Install all dependencies |
| 23 | + npm ci |
| 24 | + |
| 25 | +dev: ## Start Strapi for local development |
| 26 | + NODE_ENV=development npm run develop |
| 27 | + |
| 28 | +clean: ## Clean strapi files |
| 29 | + rm -rf .cache |
| 30 | + rm -rf build |
| 31 | + |
| 32 | +start: ## Strapi start sequence (build + start) |
| 33 | + $(MAKE) strapi-build |
| 34 | + npm run start |
| 35 | + |
| 36 | +strapi-build: ## Build Strapi CMS |
| 37 | + npm run build |
| 38 | + |
| 39 | +strapi-admin: ## Strapi GUI development |
| 40 | + npx strapi develop --watch-admin |
| 41 | + |
| 42 | +# ################################################ |
| 43 | +# Docker ######################################### |
| 44 | +# ################################################ |
| 45 | +.PHONY: docker-up |
| 46 | +docker-up: ## Run docker containers |
| 47 | + docker-compose up -d |
| 48 | + |
| 49 | +.PHONY: docker-build |
| 50 | +docker-build: ## Docker image build |
| 51 | + docker buildx \ |
| 52 | + build \ |
| 53 | + --build-arg NODE_ENV=${NODE_ENV} \ |
| 54 | + --platform ${DOCKER_PLATFORM} \ |
| 55 | + -t ${DOCKER_IMAGE}:${DOCKER_VERSION} \ |
| 56 | + -f Dockerfile \ |
| 57 | + . |
| 58 | + |
| 59 | +.PHONY: docker-push |
| 60 | +docker-push: ## Push docker image to registry |
| 61 | + docker push ${DOCKER_IMAGE}:${DOCKER_VERSION} |
| 62 | + |
| 63 | +.PHONY: docker-dev |
| 64 | +docker-dev: ## Run docker image |
| 65 | + docker run \ |
| 66 | + -it \ |
| 67 | + --rm \ |
| 68 | + -p 1337:1337 \ |
| 69 | + -v $(CURDIR):/srv:cached \ |
| 70 | + ${DOCKER_IMAGE}:${DOCKER_VERSION} |
| 71 | + |
| 72 | +.PHONY: docker-mariadb |
| 73 | +docker-mariadb: ## Run mariadb container |
| 74 | + docker-compose up db |
| 75 | + |
| 76 | +# ################################################ |
| 77 | +# Deploy ######################################### |
| 78 | +# ################################################ |
| 79 | + |
| 80 | +.PHONY: deploy |
| 81 | +deploy: # Deploy to Fly.io |
| 82 | + fly deploy |
0 commit comments