55 lines
1.1 KiB
Makefile
55 lines
1.1 KiB
Makefile
.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 \
|
|
.
|
|
|