api-client/Makefile
2026-05-06 16:51:07 +02:00

58 lines
1.3 KiB
Makefile

COMPOSE := docker compose
ENV_FILE := .env
ENV_EXAMPLE := .env.example
PROD_COMPOSE := docker-compose.prod.yml
REGISTRY ?= forge.lclr.dev
NAMESPACE ?= thibaud-lclr
IMAGE_PREFIX ?= api-client
TAG ?= latest
AIO_IMAGE := $(REGISTRY)/$(NAMESPACE)/$(IMAGE_PREFIX)-aio:$(TAG)
PROD_ENV := API_CLIENT_REGISTRY=$(REGISTRY) API_CLIENT_NAMESPACE=$(NAMESPACE) API_CLIENT_IMAGE_PREFIX=$(IMAGE_PREFIX) API_CLIENT_TAG=$(TAG)
.PHONY: up dev-up prod-up down dev-down prod-down logs dev-logs prod-logs ps dev-ps prod-ps ensure-env docker-build-images docker-push-images docker-build-push-images
up: dev-up
dev-up: ensure-env
$(COMPOSE) up -d --build
prod-up: ensure-env
$(PROD_ENV) $(COMPOSE) -f $(PROD_COMPOSE) up -d
down: dev-down
dev-down:
$(COMPOSE) down
prod-down:
$(PROD_ENV) $(COMPOSE) -f $(PROD_COMPOSE) down
logs: dev-logs
dev-logs:
$(COMPOSE) logs -f
prod-logs:
$(PROD_ENV) $(COMPOSE) -f $(PROD_COMPOSE) logs -f
ps: dev-ps
dev-ps:
$(COMPOSE) ps
prod-ps:
$(PROD_ENV) $(COMPOSE) -f $(PROD_COMPOSE) ps
ensure-env:
@test -f $(ENV_FILE) || cp $(ENV_EXAMPLE) $(ENV_FILE)
docker-build-images:
docker build --file prod.Dockerfile --target aio --tag $(AIO_IMAGE) .
docker-push-images:
docker push $(AIO_IMAGE)
docker-build-push-images: docker-build-images docker-push-images