diff --git a/.gitignore b/.gitignore
index 82c975f..02eeadd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,5 @@
 # Ignore downloaded binaries and verification files
-amd64/gitea-*
-arm64/gitea-*
+dist/
 
 # Ignore build artifacts
 *.deb
diff --git a/amd64/DEBIAN/postinst b/amd64/DEBIAN/postinst
new file mode 100755
index 0000000..ce2d509
--- /dev/null
+++ b/amd64/DEBIAN/postinst
@@ -0,0 +1,11 @@
+#!/bin/sh
+set -e
+
+# Ensure systemd is aware of the new service file
+systemctl daemon-reload
+
+# Enable and start Gitea service
+systemctl enable gitea
+systemctl restart gitea || true
+
+exit 0
diff --git a/amd64/DEBIAN/prerm b/amd64/DEBIAN/prerm
new file mode 100755
index 0000000..b13377a
--- /dev/null
+++ b/amd64/DEBIAN/prerm
@@ -0,0 +1,7 @@
+#!/bin/sh
+set -e
+
+# Stop the Gitea service before updating/removal
+systemctl stop gitea || true
+
+exit 0
diff --git a/amd64/opt/gitea/bin/gitea b/amd64/opt/gitea/bin/gitea
new file mode 100755
index 0000000..f9a2026
Binary files /dev/null and b/amd64/opt/gitea/bin/gitea differ
diff --git a/amd64/opt/gitea/gitea.asc b/amd64/opt/gitea/gitea.asc
deleted file mode 100644
index 99d858a..0000000
Binary files a/amd64/opt/gitea/gitea.asc and /dev/null differ
diff --git a/arm64/DEBIAN/postinst b/arm64/DEBIAN/postinst
new file mode 100755
index 0000000..ce2d509
--- /dev/null
+++ b/arm64/DEBIAN/postinst
@@ -0,0 +1,11 @@
+#!/bin/sh
+set -e
+
+# Ensure systemd is aware of the new service file
+systemctl daemon-reload
+
+# Enable and start Gitea service
+systemctl enable gitea
+systemctl restart gitea || true
+
+exit 0
diff --git a/arm64/DEBIAN/prerm b/arm64/DEBIAN/prerm
new file mode 100755
index 0000000..b13377a
--- /dev/null
+++ b/arm64/DEBIAN/prerm
@@ -0,0 +1,7 @@
+#!/bin/sh
+set -e
+
+# Stop the Gitea service before updating/removal
+systemctl stop gitea || true
+
+exit 0
diff --git a/arm64/opt/gitea/bin/gitea b/arm64/opt/gitea/bin/gitea
new file mode 100755
index 0000000..95e0584
Binary files /dev/null and b/arm64/opt/gitea/bin/gitea differ
diff --git a/arm64/opt/gitea/gitea.asc b/arm64/opt/gitea/gitea.asc
deleted file mode 100644
index a83fdb1..0000000
Binary files a/arm64/opt/gitea/gitea.asc and /dev/null differ
diff --git a/build.sh b/build.sh
new file mode 100755
index 0000000..e7075a7
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+set -e  # Exit on error
+
+# Set Variables
+VERSION=$(curl -s https://dl.gitea.com/gitea/version.json | jq -r '.latest.version')
+ARCHS=("amd64" "arm64")
+GITEA_BASE_URL="https://dl.gitea.com/gitea/${VERSION}"
+FILES=("xz" "xz.asc" "xz.sha256" "xz.sha256.asc")
+
+# Download Gitea Binaries and Signatures
+for ARCH in "${ARCHS[@]}"; do
+	echo "Downloading Gitea ${VERSION} for ${ARCH}..."
+	for FILE in "${FILES[@]}"; do
+		FILE_NAME="gitea-${VERSION}-linux-${ARCH}.${FILE}"
+		FILE_URL="${GITEA_BASE_URL}/${FILE_NAME}"
+		TARGET_FILE="dist/${ARCH}/${FILE_NAME}"
+	        if [[ -f "$TARGET_FILE" ]]; then
+        		echo "✅ File already exists: $TARGET_FILE (Skipping)"
+        	else
+            		echo "⬇️  Downloading: $FILE_URL"
+            		wget -q "$FILE_URL" -O "$TARGET_FILE"
+        	fi
+	done
+done
+
+# Verify GPG Signatures
+for ARCH in "${ARCHS[@]}"; do
+	echo "Verifying GPG signature for ${ARCH}..."
+	gpg --verify "dist/${ARCH}/gitea-${VERSION}-linux-${ARCH}.xz.asc" "dist/${ARCH}/gitea-${VERSION}-linux-${ARCH}.xz"
+	gpg --verify "dist/${ARCH}/gitea-${VERSION}-linux-${ARCH}.xz.sha256.asc" "dist/${ARCH}/gitea-${VERSION}-linux-${ARCH}.xz.sha256"
+done
+
+
+#  Verify Checksums
+for ARCH in "${ARCHS[@]}"; do
+	echo "Verifying SHA256 checksum for ${ARCH}..."
+	(cd "dist/${ARCH}" && sha256sum -c gitea-${VERSION}-linux-${ARCH}.xz.sha256)
+done
+
+# expand the Gitea binray to the target
+for ARCH in "${ARCHS[@]}"; do
+	xz -dc "dist/${ARCH}/gitea-${VERSION}-linux-${ARCH}.xz" > "${ARCH}/opt/gitea/bin/gitea" || { echo "❌ Extraction failed for ${ARCH}"; exit 1; }
+
+	# Verify the extracted file isn't empty
+	if [[ ! -s "${ARCH}/opt/gitea/bin/gitea" ]]; then
+		echo "❌ Extracted file is empty for ${ARCH}. Something went wrong!"
+		exit 1
+	fi
+	chmod +x "${ARCH}/opt/gitea/bin/gitea"
+done
+	
+# Build Debian Packages
+for ARCH in "${ARCHS[@]}"; do
+    echo "Building package for ${ARCH}..."
+    dpkg-deb --build "${ARCH}" "gitea_${VERSION}_${ARCH}.deb"
+done
+
+echo "All packages built successfully:"
+ls -lh gitea_${VERSION}_*.deb
+
diff --git a/gitea-release.asc b/gitea-release.asc
new file mode 100644
index 0000000..e69de29