DOCKER_COMPOSE := docker compose -f docker-compose-local.yml
.DEFAULT_GOAL := help
.PHONY: docker-up docker-start docker-down docker-logs

export UID := $(shell id -u)
export GID := $(shell id -g)

help: ## show this help
	@echo MAKE TARGETS
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

docker-up: ## bring docker compose stack up in background
	$(DOCKER_COMPOSE) --profile tibi up -d

docker-up-tibi-dev: ## bring docker compose stack up in background with tibi-dev
	$(DOCKER_COMPOSE) --profile tibi-dev up -d

docker-down: ## take docker compose stack down
	$(DOCKER_COMPOSE) --profile tibi-dev --profile tibi down

docker-start: ## start docker compose stack in foreground and take it down after CTRL-C
	$(DOCKER_COMPOSE) --profile tibi up; $(DOCKER_COMPOSE) --profile tibi-dev --profile tibi down

docker-start-tibi-dev: ## start docker compose stack in foreground and take it down after CTRL-C (with tibi-dev)
	$(DOCKER_COMPOSE) --profile tibi-dev up; $(DOCKER_COMPOSE) --profile tibi-dev --profile tibi down

docker-ps: ## show container state
	$(DOCKER_COMPOSE) --profile tibi-dev --profile tibi ps

docker-logs: ## show docker logs and follow
	$(DOCKER_COMPOSE) --profile tibi-dev --profile tibi logs -f || true

docker-%:
	$(DOCKER_COMPOSE) $*

yarn-upgrade: # interactive yarn upgrade
	$(DOCKER_COMPOSE) run --rm yarnstart yarn upgrade-interactive
	$(DOCKER_COMPOSE) restart yarnstart

fix-permissions: # set files/directories owner to UID:GID from .env
	sudo chown -R $(UID):$(GID) ./