Files
notes/Makefile

57 lines
1.5 KiB
Makefile

IMAGE_NAME ?= notes-vault-client
IMAGE_TAG ?= latest
CONTAINER_NAME ?= notes-vault-client
HOST_PORT ?= 8081
NOTES_API_UPSTREAM ?= http://host.docker.internal:8080
IMAGE := $(IMAGE_NAME):$(IMAGE_TAG)
.PHONY: help install build docker-build docker-run docker-stop docker-restart docker-logs docker-clean
help:
@echo "Targets:"
@echo " make install Install Node dependencies"
@echo " make build Build the Vite app into dist/"
@echo " make docker-build Build the Docker image"
@echo " make docker-run Run the Docker container"
@echo " make docker-stop Stop the running Docker container"
@echo " make docker-restart Rebuild and restart the Docker container"
@echo " make docker-logs Follow container logs"
@echo " make docker-clean Remove the Docker image"
@echo ""
@echo "Variables:"
@echo " IMAGE_NAME=$(IMAGE_NAME)"
@echo " IMAGE_TAG=$(IMAGE_TAG)"
@echo " CONTAINER_NAME=$(CONTAINER_NAME)"
@echo " HOST_PORT=$(HOST_PORT)"
@echo " NOTES_API_UPSTREAM=$(NOTES_API_UPSTREAM)"
install:
npm ci
build:
npm run build
docker-build:
docker build -t $(IMAGE) .
docker-run:
docker rm -f $(CONTAINER_NAME) >/dev/null 2>&1 || true
docker run --rm -d \
--name $(CONTAINER_NAME) \
-p $(HOST_PORT):80 \
-e NOTES_API_UPSTREAM=$(NOTES_API_UPSTREAM) \
$(IMAGE)
@echo "Running $(IMAGE) at http://localhost:$(HOST_PORT)"
docker-stop:
docker stop $(CONTAINER_NAME)
docker-restart: docker-build docker-run
docker-logs:
docker logs -f $(CONTAINER_NAME)
docker-clean:
docker image rm $(IMAGE)