57 lines
1.5 KiB
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)
|