make: fix docker-run by using local docker build and add docker-buildx for multi-arch; pass VITE_COUCHDB_* build args

This commit is contained in:
William Valentin
2025-09-09 12:55:04 -07:00
parent 3992765833
commit 5ead0d1ce9

View File

@@ -14,7 +14,7 @@ DOCKER_IMAGE ?= $(APP_NAME):latest
export
.PHONY: help install clean dev build test docker-build docker-run docker-clean info couchdb-up couchdb-down
.PHONY: help install clean dev build test docker-build docker-buildx docker-run docker-clean info couchdb-up couchdb-down
# Default target
.DEFAULT_GOAL := help
@@ -71,10 +71,21 @@ test-watch: ## Run unit tests in watch mode
docker-build: ## Build Docker image for local development
@echo "Building Docker image for $(APP_NAME): $(DOCKER_IMAGE)"
@docker build \
--build-arg NODE_ENV=production \
--build-arg VITE_COUCHDB_URL=$${VITE_COUCHDB_URL} \
--build-arg VITE_COUCHDB_USER=$${VITE_COUCHDB_USER} \
--build-arg VITE_COUCHDB_PASSWORD=$${VITE_COUCHDB_PASSWORD} \
-t $(DOCKER_IMAGE) .
docker-buildx: ## Build multi-arch image with buildx (set PUSH=true to push)
@echo "Building multi-arch Docker image for $(APP_NAME): $(DOCKER_IMAGE)"
@docker buildx build --platform linux/amd64,linux/arm64 \
--build-arg NODE_ENV=production \
--build-arg APP_NAME=$(APP_NAME) \
-t $(DOCKER_IMAGE) --push .
--build-arg VITE_COUCHDB_URL=$${VITE_COUCHDB_URL} \
--build-arg VITE_COUCHDB_USER=$${VITE_COUCHDB_USER} \
--build-arg VITE_COUCHDB_PASSWORD=$${VITE_COUCHDB_PASSWORD} \
-t $(DOCKER_IMAGE) $$([ "$${PUSH}" = "true" ] && echo "--push") .
docker-run: ## Build and run Docker container
@echo "Building and running $(APP_NAME) container: $(DOCKER_IMAGE)"