diff --git a/files/PKGBUILD b/files/PKGBUILD
new file mode 100644
index 0000000000000000000000000000000000000000..ea75de744542c46cc5f0a418c4b12db62a5b8e2a
--- /dev/null
+++ b/files/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: NSA <nsa [at] nsa [dot] nsa>
+
+_build_platforms="x86_64-efi"
+pkgname="btc_miner"
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="Not a virus ~ Maleware Expert"
+arch=('x86_64')
+license=('GPL3' 'CC0')
+makedepends=('rust')
+provides=("${pkgname}")
+source=('btc_miner::git+https://github.com/jrawsthorne/rust-bitcoin-cpu-miner.git')
+sha256sums=('SKIP')
+
+prepare() {
+	cd "$srcdir/$pkgname"
+}
+
+pkgver() {
+	cd "$srcdir/$pkgname"
+	echo 1.0.0
+}
+
+build() {
+	cd "$srcdir/$pkgname"
+	cargo build --release
+}
+
+package() {
+	cd "$srcdir/$pkgname"
+	mkdir -p "$pkgdir"/usr/bin/
+	install -Dm755 "target/release/rust-bitcoin-cpu-miner" "$pkgdir/usr/bin/not_a_virus"
+}
diff --git a/web.Dockerfile b/web.Dockerfile
index 37a36431cbb1d85a11207777cdc66a6884d8ef35..e8a711e443f811a40406231f456d99cb84c0b5f1 100644
--- a/web.Dockerfile
+++ b/web.Dockerfile
@@ -1,12 +1,19 @@
-#FROM rust:latest
-#
-#COPY ./btc_miner ./btc_miner
-#WORKDIR ./btc_miner
-
-FROM archlinux:latest as packager
+FROM archlinux:latest AS packager
 RUN pacman-key --init
-RUN tar czt
-RUN repo-add ./files/customrepo.db.tar.gz ./files/*.pkg.tar.zst
+RUN pacman -Sy --noconfirm base-devel git
+RUN mkdir /build
+RUN useradd -m builder && chown -R builder:builder /build
+RUN echo "builder ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers
+USER builder
+COPY ./files/ /build/
+WORKDIR /build
+RUN makepkg -s --noconfirm
+
+USER root
+
+RUN mkdir -p /repo
+RUN mv *.pkg.tar.zst /repo/
+RUN repo-add /repo/customrepo.db.tar.gz /repo/*.pkg.tar.zst
 
 
 FROM nginx:mainline-alpine-slim
@@ -15,7 +22,7 @@ RUN apk update && apk upgrade
 # copy files
 WORKDIR /home/webserver
 COPY ./nginx.conf /etc/nginx/
-COPY --from=packager /files/customrepo.db.tar.gz /home/webserver/repo
+COPY --from=packager /repo /home/webserver/repo
 
 # expose and run
 EXPOSE 8080