.PHONY: install build run clean docker-build docker-run docker-push docker-build-multiarch docker-push-multiarch # Install dependencies install: npm install # Build the application (if needed) build: install # Run the application run: node server/index.js # Start in development mode dev: node server/index.js # Clean build artifacts clean: rm -rf node_modules rm -f package-lock.json # Docker variables DOCKER_REGISTRY ?= IMAGE_NAME = wirelos/spore-ledlab IMAGE_TAG ?= latest FULL_IMAGE_NAME = $(if $(DOCKER_REGISTRY),$(DOCKER_REGISTRY)/$(IMAGE_NAME),$(IMAGE_NAME)):$(IMAGE_TAG) # Build Docker image docker-build: docker build -t $(FULL_IMAGE_NAME) . # Run Docker container docker-run: docker run -p 8080:8080 --rm $(FULL_IMAGE_NAME) # Push Docker image docker-push: docker push $(FULL_IMAGE_NAME) # Build multiarch Docker image docker-build-multiarch: docker buildx build --platform linux/amd64,linux/arm64 \ -t $(FULL_IMAGE_NAME) \ --push \ . # Push multiarch Docker image (if not pushed during build) docker-push-multiarch: docker buildx build --platform linux/amd64,linux/arm64 \ -t $(FULL_IMAGE_NAME) \ --push \ .