Build multi-arch container images across stack
diff --git a/apps/maddy/web/.gitignore b/apps/maddy/web/.gitignore
index 797200e..06ccfe3 100644
--- a/apps/maddy/web/.gitignore
+++ b/apps/maddy/web/.gitignore
@@ -1 +1,2 @@
-maddy-web
+maddy-web_arm64
+maddy-web_amd64
diff --git a/apps/maddy/web/Dockerfile b/apps/maddy/web/Dockerfile
index 8c057e1..0b38e18 100644
--- a/apps/maddy/web/Dockerfile
+++ b/apps/maddy/web/Dockerfile
@@ -1,4 +1,6 @@
 FROM giolekva/maddy:v0.4.4 AS maddy
 
-COPY maddy-web /usr/bin
+ARG TARGETARCH
+
+COPY maddy-web_${TARGETARCH} /usr/bin/maddy-web
 RUN chmod +x /usr/bin/maddy-web
diff --git a/apps/maddy/web/Makefile b/apps/maddy/web/Makefile
index 2054935..4ab1785 100644
--- a/apps/maddy/web/Makefile
+++ b/apps/maddy/web/Makefile
@@ -1,17 +1,21 @@
 clean:
-	rm -f maddy-web
+	rm -f maddy-web_*
 
-build: clean
-	go build -o maddy-web *.go
+build_arm64: export CGO_ENABLED=0
+build_arm64: export GO111MODULE=on
+build_arm64: export GOOS=linux
+build_arm64: export GOARCH=arm64
+build_arm64:
+	go build -o maddy-web_arm64 *.go
 
-image: build
-	docker build --tag=giolekva/maddy-web:latest . --platform=linux/arm64
+build_amd64: export CGO_ENABLED=0
+build_amd64: export GO111MODULE=on
+build_amd64: export GOOS=linux
+build_amd64: export GOARCH=amd64
+build_amd64:
+	go build -o maddy-web_amd64 *.go
 
-push: image
-	docker push giolekva/maddy-web:latest
+build: clean build_arm64 build_amd64
 
-push_arm64: export GOOS=linux
-push_arm64: export GOARCH=arm64
-push_arm64: export CGO_ENABLED=0
-push_arm64: export GO111MODULE=on
-push_arm64: push
+push: build
+	docker buildx build --tag=giolekva/maddy-web:latest . --platform=linux/arm64,linux/amd64 --push