diff --git a/Dockerfile b/Dockerfile
index be8cd7c..0c0cbd3 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,8 +1,21 @@
+FROM rust:alpine3.18 AS builder
+WORKDIR /build
+
+RUN apk add --no-cache musl-dev
+COPY . ./
+RUN apk --print-arch
+RUN case "$(apk --print-arch)" in \
+	x86_64) cargo build --target x86_64-unknown-linux-musl --release; \
+               mv ./target/x86_64-unknown-linux-musl /release ;; \
+	aarch64) cargo build --target aarch64-unknown-linux-musl --release; \
+	       mv ./target/aarch64-unknown-linux-musl /release ;; \
+	esac
+
 FROM alpine:edge
 WORKDIR /app
 
-COPY ./target/x86_64-unknown-linux-musl/release/ /app
+COPY --from=builder /release/* /app
 COPY ./about.html /app/about.html
 
 EXPOSE 8080
-CMD [ "./pastabble" ]
\ No newline at end of file
+CMD [ "./pastabble" ]