diyaa.de/Makefile
2026-03-13 03:16:25 +01:00

39 lines
1.0 KiB
Makefile

SHELL := /bin/zsh
COMPOSE_FILE := docker-compose.yml
PROJECT_NAME := diyaa
.PHONY: start stop restart logs ps build ensure-env ensure-project
ensure-env:
@if [ ! -f .env ]; then \
if [ -f .env.example ]; then \
cp .env.example .env; \
echo ".env created from .env.example"; \
else \
echo ".env file is missing and .env.example was not found."; \
exit 1; \
fi; \
fi
ensure-project: ensure-env
@grep -q '^COMPOSE_PROJECT_NAME=$(PROJECT_NAME)$$' .env || \
(echo "COMPOSE_PROJECT_NAME in .env must be '$(PROJECT_NAME)' to avoid project mix-up."; exit 1)
start: ensure-project
docker compose --env-file .env -f $(COMPOSE_FILE) up -d --build
@echo "diyaa services are up"
stop: ensure-project
docker compose --env-file .env -f $(COMPOSE_FILE) down
restart: stop start
logs: ensure-project
docker compose --env-file .env -f $(COMPOSE_FILE) logs -f --tail=200
ps: ensure-project
docker compose --env-file .env -f $(COMPOSE_FILE) ps
build: ensure-project
docker compose --env-file .env -f $(COMPOSE_FILE) build