# Define variables
DOCKER_COMPOSE = docker-compose
DOCKER_RUN = $(DOCKER_COMPOSE) run --rm backend

# Default target
.PHONY: all
all: docker-up


# Container management
# --------------------

.PHONY: docker-up
docker-up:
	$(DOCKER_COMPOSE) up --build

.PHONY: docker-down
docker-down:
	$(DOCKER_COMPOSE) down

.PHONY: docker-build
docker-build:
	$(DOCKER_COMPOSE) build

.PHONY: docker-rebuild
docker-rebuild:
	$(DOCKER_COMPOSE) build --pull --no-cache

.PHONY: docker-purge
docker-purge:
	$(DOCKER_COMPOSE) down --volumes

.PHONY: docker-restart
docker-restart:
	$(DOCKER_COMPOSE) restart $(SERVICE)

.PHONY: docker-logs
docker-logs:
	$(DOCKER_COMPOSE) logs -f $(SERVICE) || true

.PHONY: docker-run
docker-run:
	$(DOCKER_RUN) $(CMD)

.PHONY: docker-shell
docker-shell:
	$(DOCKER_RUN) bash
