diff --git a/Makefile b/Makefile index 8ef8ed0..efc5f69 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,9 @@ BINARY_NAME=middleware DOCKER_IMAGE=slack-to-ntfy +VERSION?=latest + +# DOCKER_REGISTRY is optional. If set, it will be used for pushing. Otherwise, images are loaded locally. # Default target help: @@ -29,7 +32,13 @@ clean: rm -f $(BINARY_NAME) docker-build: - docker build -t $(DOCKER_IMAGE) . + ifeq ($(DOCKER_REGISTRY),) + # DOCKER_REGISTRY is not set, load locally + docker buildx build --platform linux/amd64,linux/arm64 -t $(DOCKER_IMAGE):$(VERSION) --load . + else + # DOCKER_REGISTRY is set, push to registry + docker buildx build --platform linux/amd64,linux/arm64 -t $(DOCKER_REGISTRY)/$(DOCKER_IMAGE):$(VERSION) --push . + endif docker-run: docker compose up -d diff --git a/README.md b/README.md index 96ae147..936ddbc 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ A lightweight Go service that acts as a middleware between Slack webhooks and nt - ✅ Forwards alerts to self-hosted ntfy servers - ✅ Bearer token authentication support - ✅ Health check endpoint -- ✅ Lightweight Docker container (~8MB) +- ✅ Lightweight Docker container (~8.8MB) - ✅ High performance and low resource usage ## Quick Start @@ -59,18 +59,18 @@ A lightweight Go service that acts as a middleware between Slack webhooks and nt ### Build locally ```bash -go build -o middleware main.go -./middleware +make build +make run ``` ### Build Docker image ```bash -docker build -t slack-to-ntfy . +make docker-build ``` ### Run tests ```bash -go test ./... +make test ``` ## License