From 67d9a6a7d8b7fe03decc94b3aaf735bbb821f807 Mon Sep 17 00:00:00 2001 From: admin Date: Sat, 1 Aug 2026 14:33:36 +0000 Subject: [PATCH] =?UTF-8?q?build:=20UPX=20compression=20=E2=80=94=20binary?= =?UTF-8?q?=206.9MB=20=E2=86=92=202.1MB=20(70%=20smaller)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UPX with --best --lzma compresses the Go binary for distribution. Integrated into Makefile targets (fallback if upx not installed). --- .gitignore | 1 + Makefile | 2 ++ README.md | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index be245d3..34e9b08 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ Thumbs.db notes/ wallarm bin/ +wallarm-upx diff --git a/Makefile b/Makefile index 7fc39ea..0a22a9f 100644 --- a/Makefile +++ b/Makefile @@ -12,9 +12,11 @@ all: linux-amd64 linux-arm64 linux-amd64: GOOS=linux GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o $(BINARY)-linux-amd64 ./cmd/wallarm/ + upx --best --lzma $(BINARY)-linux-amd64 -o $(BINARY)-linux-amd64.tmp 2>/dev/null && mv $(BINARY)-linux-amd64.tmp $(BINARY)-linux-amd64 || true linux-arm64: GOOS=linux GOARCH=arm64 go build -ldflags "$(LDFLAGS)" -o $(BINARY)-linux-arm64 ./cmd/wallarm/ + upx --best --lzma $(BINARY)-linux-arm64 -o $(BINARY)-linux-arm64.tmp 2>/dev/null && mv $(BINARY)-linux-arm64.tmp $(BINARY)-linux-arm64 || true clean: rm -f $(BINARY) $(BINARY)-linux-* diff --git a/README.md b/README.md index c6c0f9e..0345064 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ That's it. The binary runs preflight checks, then opens an interactive TUI: ## Features -- **Single binary** — 7MB, zero runtime dependencies, works on any Linux +- **Single binary** — 2MB, zero runtime dependencies, works on any Linux - **Interactive TUI** — bubbletea-powered forms and dashboard - **Preflight checks** — runs on every start: system, network, cloud reachability, resources - **Multi-node** — manage multiple Wallarm nodes on the same host via systemd