diff --git a/docker/docker-py3-kms-minimal/Dockerfile b/docker/docker-py3-kms-minimal/Dockerfile.amd64
similarity index 98%
rename from docker/docker-py3-kms-minimal/Dockerfile
rename to docker/docker-py3-kms-minimal/Dockerfile.amd64
index d54ece5..afd3e42 100644
--- a/docker/docker-py3-kms-minimal/Dockerfile
+++ b/docker/docker-py3-kms-minimal/Dockerfile.amd64
@@ -1,6 +1,6 @@
 # This is a minimized version from docker/docker-py3-kms/Dockerfile without SQLite support to further reduce image size
 
-FROM alpine:3.8
+FROM alpine:3.12
 
 ENV IP		0.0.0.0
 ENV PORT		1688
diff --git a/docker/docker-py3-kms-minimal/Dockerfile.arm32v6 b/docker/docker-py3-kms-minimal/Dockerfile.arm32v6
new file mode 100644
index 0000000..c555137
--- /dev/null
+++ b/docker/docker-py3-kms-minimal/Dockerfile.arm32v6
@@ -0,0 +1,44 @@
+# This is a minimized version from docker/docker-py3-kms/Dockerfile without SQLite support to further reduce image size
+
+# Prepare the multiarch env
+FROM alpine AS builder
+RUN apk add curl && curl -L "https://github.com/balena-io/qemu/releases/download/v4.0.0%2Bbalena2/qemu-4.0.0.balena2-arm.tar.gz" | tar zxvf - -C . --strip-components 1
+
+# Switch to the target image
+FROM arm32v6/alpine:3.12
+
+# Import qemu from the preparation
+COPY --from=builder qemu-arm-static /usr/bin
+
+ENV IP		0.0.0.0
+ENV PORT		1688
+ENV EPID		""
+ENV LCID		1033
+ENV CLIENT_COUNT	26
+ENV ACTIVATION_INTERVAL	120
+ENV RENEWAL_INTERVAL	10080
+ENV HWID		"RANDOM"
+ENV LOGLEVEL	INFO
+ENV LOGFILE		/var/log/pykms_logserver.log
+ENV LOGSIZE		""
+
+RUN apk add --no-cache --update \
+	bash \
+	git \
+	py3-argparse \
+	py3-flask \
+	py3-pygments \
+	python3-tkinter \
+	sqlite-libs \
+	py3-pip && \
+    pip3 install peewee tzlocal && \
+    git clone https://github.com/SystemRage/py-kms/ /tmp/py-kms && \
+    mv /tmp/py-kms/py-kms /home/ && \
+    rm -rf /tmp/py-kms && \
+    apk del git
+
+WORKDIR /home/py-kms
+
+EXPOSE ${PORT}/tcp
+
+ENTRYPOINT /usr/bin/python3 pykms_Server.py ${IP} ${PORT} -l ${LCID} -c ${CLIENT_COUNT} -a ${ACTIVATION_INTERVAL} -r ${RENEWAL_INTERVAL} -w ${HWID} -V ${LOGLEVEL} -F ${LOGFILE}
diff --git a/docker/docker-py3-kms-minimal/Dockerfile.arm32v7 b/docker/docker-py3-kms-minimal/Dockerfile.arm32v7
new file mode 100644
index 0000000..08c1cc4
--- /dev/null
+++ b/docker/docker-py3-kms-minimal/Dockerfile.arm32v7
@@ -0,0 +1,44 @@
+# This is a minimized version from docker/docker-py3-kms/Dockerfile without SQLite support to further reduce image size
+
+# Prepare the multiarch env
+FROM alpine AS builder
+RUN apk add curl && curl -L "https://github.com/balena-io/qemu/releases/download/v4.0.0%2Bbalena2/qemu-4.0.0.balena2-arm.tar.gz" | tar zxvf - -C . --strip-components 1
+
+# Switch to the target image
+FROM arm32v7/alpine:3.12
+
+# Import qemu from the preparation
+COPY --from=builder qemu-arm-static /usr/bin
+
+ENV IP		0.0.0.0
+ENV PORT		1688
+ENV EPID		""
+ENV LCID		1033
+ENV CLIENT_COUNT	26
+ENV ACTIVATION_INTERVAL	120
+ENV RENEWAL_INTERVAL	10080
+ENV HWID		"RANDOM"
+ENV LOGLEVEL	INFO
+ENV LOGFILE		/var/log/pykms_logserver.log
+ENV LOGSIZE		""
+
+RUN apk add --no-cache --update \
+	bash \
+	git \
+	py3-argparse \
+	py3-flask \
+	py3-pygments \
+	python3-tkinter \
+	sqlite-libs \
+	py3-pip && \
+    pip3 install peewee tzlocal && \
+    git clone https://github.com/SystemRage/py-kms/ /tmp/py-kms && \
+    mv /tmp/py-kms/py-kms /home/ && \
+    rm -rf /tmp/py-kms && \
+    apk del git
+
+WORKDIR /home/py-kms
+
+EXPOSE ${PORT}/tcp
+
+ENTRYPOINT /usr/bin/python3 pykms_Server.py ${IP} ${PORT} -l ${LCID} -c ${CLIENT_COUNT} -a ${ACTIVATION_INTERVAL} -r ${RENEWAL_INTERVAL} -w ${HWID} -V ${LOGLEVEL} -F ${LOGFILE}
diff --git a/docker/docker-py3-kms-minimal/Dockerfile.arm64v8 b/docker/docker-py3-kms-minimal/Dockerfile.arm64v8
new file mode 100644
index 0000000..e3ebfb7
--- /dev/null
+++ b/docker/docker-py3-kms-minimal/Dockerfile.arm64v8
@@ -0,0 +1,44 @@
+# This is a minimized version from docker/docker-py3-kms/Dockerfile without SQLite support to further reduce image size
+
+# Prepare the multiarch env
+FROM alpine AS builder
+RUN apk add curl && curl -L "https://github.com/balena-io/qemu/releases/download/v4.0.0%2Bbalena2/qemu-4.0.0.balena2-aarch64.tar.gz" | tar zxvf - -C . --strip-components 1
+
+# Switch to the target image
+FROM arm64v8/alpine:3.12
+
+# Import qemu from the preparation
+COPY --from=builder qemu-aarch64-static /usr/bin
+
+ENV IP		0.0.0.0
+ENV PORT		1688
+ENV EPID		""
+ENV LCID		1033
+ENV CLIENT_COUNT	26
+ENV ACTIVATION_INTERVAL	120
+ENV RENEWAL_INTERVAL	10080
+ENV HWID		"RANDOM"
+ENV LOGLEVEL	INFO
+ENV LOGFILE		/var/log/pykms_logserver.log
+ENV LOGSIZE		""
+
+RUN apk add --no-cache --update \
+	bash \
+	git \
+	py3-argparse \
+	py3-flask \
+	py3-pygments \
+	python3-tkinter \
+	sqlite-libs \
+	py3-pip && \
+    pip3 install peewee tzlocal && \
+    git clone https://github.com/SystemRage/py-kms/ /tmp/py-kms && \
+    mv /tmp/py-kms/py-kms /home/ && \
+    rm -rf /tmp/py-kms && \
+    apk del git
+
+WORKDIR /home/py-kms
+
+EXPOSE ${PORT}/tcp
+
+ENTRYPOINT /usr/bin/python3 pykms_Server.py ${IP} ${PORT} -l ${LCID} -c ${CLIENT_COUNT} -a ${ACTIVATION_INTERVAL} -r ${RENEWAL_INTERVAL} -w ${HWID} -V ${LOGLEVEL} -F ${LOGFILE}
diff --git a/docker/docker-py3-kms-minimal/hooks/post_push b/docker/docker-py3-kms-minimal/hooks/post_push
new file mode 100644
index 0000000..b1aa8e1
--- /dev/null
+++ b/docker/docker-py3-kms-minimal/hooks/post_push
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# Use manifest-tool to create the manifest, given the experimental
+# "docker manifest" command isn't available yet on Docker Hub.
+
+curl -Lo manifest-tool "https://github.com/estesp/manifest-tool/releases/download/v1.0.2/manifest-tool-linux-amd64"
+chmod +x manifest-tool
+
+./manifest-tool push from-spec multi-arch-manifest-latest.yaml
+./manifest-tool push from-spec multi-arch-manifest-minimal.yaml
diff --git a/docker/docker-py3-kms-minimal/hooks/pre_build b/docker/docker-py3-kms-minimal/hooks/pre_build
new file mode 100755
index 0000000..0a94f7e
--- /dev/null
+++ b/docker/docker-py3-kms-minimal/hooks/pre_build
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+# Register qemu-*-static for all supported processors except the 
+# current one, but also remove all registered binfmt_misc before
+docker run --rm --privileged multiarch/qemu-user-static:register --reset
diff --git a/docker/docker-py3-kms-minimal/multi-arch-manifest-latest.yaml b/docker/docker-py3-kms-minimal/multi-arch-manifest-latest.yaml
new file mode 100644
index 0000000..9747b43
--- /dev/null
+++ b/docker/docker-py3-kms-minimal/multi-arch-manifest-latest.yaml
@@ -0,0 +1,21 @@
+image: pykmsorg/py-kms:latest
+manifests:
+  - image: pykmsorg/py-kms:minimal-amd64
+    platform:
+      architecture: amd64
+      os: linux
+  - image: pykmsorg/py-kms:minimal-arm32v6
+    platform:
+      architecture: arm
+      os: linux
+      variant: v6
+  - image: pykmsorg/py-kms:minimal-arm32v7
+    platform:
+      architecture: arm
+      os: linux
+      variant: v7
+  - image: pykmsorg/py-kms:minimal-arm64v8
+    platform:
+      architecture: arm64
+      os: linux
+      variant: v8
diff --git a/docker/docker-py3-kms-minimal/multi-arch-manifest-minimal.yaml b/docker/docker-py3-kms-minimal/multi-arch-manifest-minimal.yaml
new file mode 100644
index 0000000..a3daff2
--- /dev/null
+++ b/docker/docker-py3-kms-minimal/multi-arch-manifest-minimal.yaml
@@ -0,0 +1,21 @@
+image: pykmsorg/py-kms:minimal
+manifests:
+  - image: pykmsorg/py-kms:minimal-amd64
+    platform:
+      architecture: amd64
+      os: linux
+  - image: pykmsorg/py-kms:minimal-arm32v6
+    platform:
+      architecture: arm
+      os: linux
+      variant: v6
+  - image: pykmsorg/py-kms:minimal-arm32v7
+    platform:
+      architecture: arm
+      os: linux
+      variant: v7
+  - image: pykmsorg/py-kms:minimal-arm64v8
+    platform:
+      architecture: arm64
+      os: linux
+      variant: v8
diff --git a/docker/docker-py3-kms/Dockerfile b/docker/docker-py3-kms/Dockerfile
deleted file mode 100644
index 8d1bb4b..0000000
--- a/docker/docker-py3-kms/Dockerfile
+++ /dev/null
@@ -1,118 +0,0 @@
-# Use Alpine Linux
-FROM alpine:3.8
-
-# Maintainer
-#MAINTAINER Artur Petrov <artur@phpchain.ru>
-
-# EN: Variables
-# RU: Переменные
-
-# EN: IP-address
-# RU: IP-адрес
-ENV IP		0.0.0.0
-# The IP address to listen on. The default is "0.0.0.0" (all interfaces).
-
-# EN: TCP-port
-# RU: TCP-порт
-ENV PORT		1688
-# The network port to listen on. The default is "1688".
-
-# EN: ePID
-# RU: ePID
-ENV EPID		""
-# Use this flag to manually specify an ePID to use. If no ePID is specified, a random ePID will be generated.
-
-# EN: lcid
-# RU: lcid
-ENV LCID		1033
-# Use this flag to manually specify an LCID for use with randomly generated ePIDs. Default is 1033 (en-us).
-
-# EN: the current client count
-# RU: текущий счётчик запросов на активацию продуктов от Microsoft
-ENV CLIENT_COUNT	26
-# Use this flag to specify the current client count. Default is 26.
-# A number >=25 is required to enable activation of client OSes; for server OSes and Office >=5.
-
-# EN: the activation interval (in minutes)
-# RU: интервал активации (в минутах)
-ENV ACTIVATION_INTERVAL	120
-# Use this flag to specify the activation interval (in minutes). Default is 120 minutes (2 hours).
-
-# EN: the renewal interval (in minutes)
-# RU: интервал обновления (в минутах)
-ENV RENEWAL_INTERVAL	10080
-# Use this flag to specify the renewal interval (in minutes). Default is 10080 minutes (7 days).
-
-# EN: Use SQLITE
-# RU: Использовать РСУБД SQLITE
-ENV SQLITE		false
-# Use this flag to store request information from unique clients in an SQLite database.
-
-# EN: hwid
-# RU: hwid
-ENV HWID		"364F463A8863D35F"
-# Use this flag to specify a HWID.
-# The HWID must be an 16-character string of hex characters.
-# The default is "364F463A8863D35F" or type "RANDOM" to auto generate the HWID.
-
-# EN: log level ("CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG")
-# RU: Уровень логирования ("CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG")
-ENV LOGLEVEL		ERROR
-# Use this flag to set a Loglevel. The default is "ERROR".
-
-# EN: log file
-# RU: Лог-файл
-ENV LOGFILE		/var/log/pykms_logserver.log
-# Use this flag to set an output Logfile. The default is "/var/log/pykms_logserver.log".
-
-# EN: log file size in MB
-# RU: Максимальный размер Лог-файл в мегабайтах
-ENV LOGSIZE		""
-# Use this flag to set a maximum size (in MB) to the output log file. Deactivated by default.
-
-# EN: Startup script
-# RU: Скрипт автозапуска
-COPY start.sh /usr/bin/start.sh
-
-# EN: Software installation
-# RU: Установка программного обеспечения
-RUN     echo "http://dl-cdn.alpinelinux.org/alpine/v3.8/main" >> /etc/apk/repositories && \
-    apk update && \
-    apk upgrade && \
-    apk add --update \
-	bash \
-	git \
-	py3-argparse \
-#	py3-tz \
-	py3-flask \
-	py3-pygments \
-	python3-tkinter \
-	sqlite-libs \
-	py3-pip && \
-
-# EN: Clone git-repo
-# RU: Клонирование git-репозитория
-git clone https://github.com/SystemRage/py-kms.git /tmp/py-kms && \
-git clone https://github.com/coleifer/sqlite-web.git /tmp/sqlite_web && \
-mv /tmp/py-kms/py-kms /home/ && \
-mv /tmp/sqlite_web/sqlite_web /home/ && \
-rm -rf /tmp/py-kms && \
-rm -rf /tmp/sqlite_web && \
-pip3 install peewee tzlocal pysqlite3 && \
-
-# EN: Change permissions
-# RU: Меняем права доступа
-chmod a+x /usr/bin/start.sh && \
-
-# EN: Clear after install software
-# RU: Очистка после установки программного обеспечения
-apk del git
-
-# Set Workdir
-WORKDIR /home/py-kms
-
-# Expose ports
-EXPOSE ${PORT}/tcp
-
-# Entry point
-ENTRYPOINT ["/usr/bin/start.sh"]
diff --git a/docker/docker-py3-kms/Dockerfile.amd64 b/docker/docker-py3-kms/Dockerfile.amd64
new file mode 100644
index 0000000..393962a
--- /dev/null
+++ b/docker/docker-py3-kms/Dockerfile.amd64
@@ -0,0 +1,41 @@
+FROM alpine:3.12
+
+ENV IP		0.0.0.0
+ENV PORT		1688
+ENV EPID		""
+ENV LCID		1033
+ENV CLIENT_COUNT	26
+ENV ACTIVATION_INTERVAL	120
+ENV RENEWAL_INTERVAL	10080
+ENV SQLITE		false
+ENV HWID		"364F463A8863D35F"
+ENV LOGLEVEL		ERROR
+ENV LOGFILE		/var/log/pykms_logserver.log
+ENV LOGSIZE		""
+
+COPY start.sh /usr/bin/start.sh
+
+RUN apk add --no-cache --update \
+	bash \
+	git \
+	py3-argparse \
+	py3-flask \
+	py3-pygments \
+	python3-tkinter \
+	sqlite-libs \
+	py3-pip && \
+    git clone https://github.com/SystemRage/py-kms.git /tmp/py-kms && \
+    git clone https://github.com/coleifer/sqlite-web.git /tmp/sqlite_web && \
+    mv /tmp/py-kms/py-kms /home/ && \
+    mv /tmp/sqlite_web/sqlite_web /home/ && \
+    rm -rf /tmp/py-kms && \
+    rm -rf /tmp/sqlite_web && \
+    pip3 install peewee tzlocal pysqlite3 && \
+    chmod a+x /usr/bin/start.sh && \
+    apk del git
+
+WORKDIR /home/py-kms
+
+EXPOSE ${PORT}/tcp
+
+ENTRYPOINT ["/usr/bin/start.sh"]
diff --git a/docker/docker-py3-kms/Dockerfile.arm32v6 b/docker/docker-py3-kms/Dockerfile.arm32v6
new file mode 100644
index 0000000..0ff4b31
--- /dev/null
+++ b/docker/docker-py3-kms/Dockerfile.arm32v6
@@ -0,0 +1,49 @@
+# Prepare the multiarch env
+FROM alpine AS builder
+RUN apk add curl && curl -L "https://github.com/balena-io/qemu/releases/download/v4.0.0%2Bbalena2/qemu-4.0.0.balena2-arm.tar.gz" | tar zxvf - -C . --strip-components 1
+
+# Switch to the target image
+FROM arm32v6/alpine:3.12
+
+# Import qemu from the preparation
+COPY --from=builder qemu-arm-static /usr/bin
+
+ENV IP		0.0.0.0
+ENV PORT		1688
+ENV EPID		""
+ENV LCID		1033
+ENV CLIENT_COUNT	26
+ENV ACTIVATION_INTERVAL	120
+ENV RENEWAL_INTERVAL	10080
+ENV SQLITE		false
+ENV HWID		"364F463A8863D35F"
+ENV LOGLEVEL		ERROR
+ENV LOGFILE		/var/log/pykms_logserver.log
+ENV LOGSIZE		""
+
+COPY start.sh /usr/bin/start.sh
+
+RUN apk add --no-cache --update \
+	bash \
+	git \
+	py3-argparse \
+	py3-flask \
+	py3-pygments \
+	python3-tkinter \
+	sqlite-libs \
+	py3-pip && \
+    git clone https://github.com/SystemRage/py-kms.git /tmp/py-kms && \
+    git clone https://github.com/coleifer/sqlite-web.git /tmp/sqlite_web && \
+    mv /tmp/py-kms/py-kms /home/ && \
+    mv /tmp/sqlite_web/sqlite_web /home/ && \
+    rm -rf /tmp/py-kms && \
+    rm -rf /tmp/sqlite_web && \
+    pip3 install peewee tzlocal pysqlite3 && \
+    chmod a+x /usr/bin/start.sh && \
+    apk del git
+
+WORKDIR /home/py-kms
+
+EXPOSE ${PORT}/tcp
+
+ENTRYPOINT ["/usr/bin/start.sh"]
diff --git a/docker/docker-py3-kms/Dockerfile.arm32v7 b/docker/docker-py3-kms/Dockerfile.arm32v7
new file mode 100644
index 0000000..b43baba
--- /dev/null
+++ b/docker/docker-py3-kms/Dockerfile.arm32v7
@@ -0,0 +1,49 @@
+# Prepare the multiarch env
+FROM alpine AS builder
+RUN apk add curl && curl -L "https://github.com/balena-io/qemu/releases/download/v4.0.0%2Bbalena2/qemu-4.0.0.balena2-arm.tar.gz" | tar zxvf - -C . --strip-components 1
+
+# Switch to the target image
+FROM arm32v7/alpine:3.12
+
+# Import qemu from the preparation
+COPY --from=builder qemu-arm-static /usr/bin
+
+ENV IP		0.0.0.0
+ENV PORT		1688
+ENV EPID		""
+ENV LCID		1033
+ENV CLIENT_COUNT	26
+ENV ACTIVATION_INTERVAL	120
+ENV RENEWAL_INTERVAL	10080
+ENV SQLITE		false
+ENV HWID		"364F463A8863D35F"
+ENV LOGLEVEL		ERROR
+ENV LOGFILE		/var/log/pykms_logserver.log
+ENV LOGSIZE		""
+
+COPY start.sh /usr/bin/start.sh
+
+RUN apk add --no-cache --update \
+	bash \
+	git \
+	py3-argparse \
+	py3-flask \
+	py3-pygments \
+	python3-tkinter \
+	sqlite-libs \
+	py3-pip && \
+    git clone https://github.com/SystemRage/py-kms.git /tmp/py-kms && \
+    git clone https://github.com/coleifer/sqlite-web.git /tmp/sqlite_web && \
+    mv /tmp/py-kms/py-kms /home/ && \
+    mv /tmp/sqlite_web/sqlite_web /home/ && \
+    rm -rf /tmp/py-kms && \
+    rm -rf /tmp/sqlite_web && \
+    pip3 install peewee tzlocal pysqlite3 && \
+    chmod a+x /usr/bin/start.sh && \
+    apk del git
+
+WORKDIR /home/py-kms
+
+EXPOSE ${PORT}/tcp
+
+ENTRYPOINT ["/usr/bin/start.sh"]
diff --git a/docker/docker-py3-kms/Dockerfile.arm64v8 b/docker/docker-py3-kms/Dockerfile.arm64v8
new file mode 100644
index 0000000..31d1244
--- /dev/null
+++ b/docker/docker-py3-kms/Dockerfile.arm64v8
@@ -0,0 +1,49 @@
+# Prepare the multiarch env
+FROM alpine AS builder
+RUN apk add curl && curl -L "https://github.com/balena-io/qemu/releases/download/v4.0.0%2Bbalena2/qemu-4.0.0.balena2-aarch64.tar.gz" | tar zxvf - -C . --strip-components 1
+
+# Switch to the target image
+FROM arm64v8/alpine:3.12
+
+# Import qemu from the preparation
+COPY --from=builder qemu-aarch64-static /usr/bin
+
+ENV IP		0.0.0.0
+ENV PORT		1688
+ENV EPID		""
+ENV LCID		1033
+ENV CLIENT_COUNT	26
+ENV ACTIVATION_INTERVAL	120
+ENV RENEWAL_INTERVAL	10080
+ENV SQLITE		false
+ENV HWID		"364F463A8863D35F"
+ENV LOGLEVEL		ERROR
+ENV LOGFILE		/var/log/pykms_logserver.log
+ENV LOGSIZE		""
+
+COPY start.sh /usr/bin/start.sh
+
+RUN apk add --no-cache --update \
+	bash \
+	git \
+	py3-argparse \
+	py3-flask \
+	py3-pygments \
+	python3-tkinter \
+	sqlite-libs \
+	py3-pip && \
+    git clone https://github.com/SystemRage/py-kms.git /tmp/py-kms && \
+    git clone https://github.com/coleifer/sqlite-web.git /tmp/sqlite_web && \
+    mv /tmp/py-kms/py-kms /home/ && \
+    mv /tmp/sqlite_web/sqlite_web /home/ && \
+    rm -rf /tmp/py-kms && \
+    rm -rf /tmp/sqlite_web && \
+    pip3 install peewee tzlocal pysqlite3 && \
+    chmod a+x /usr/bin/start.sh && \
+    apk del git
+
+WORKDIR /home/py-kms
+
+EXPOSE ${PORT}/tcp
+
+ENTRYPOINT ["/usr/bin/start.sh"]
diff --git a/docker/docker-py3-kms/build-py3-kms.sh b/docker/docker-py3-kms/build-py3-kms.sh
index e55eb3b..616f1f5 100755
--- a/docker/docker-py3-kms/build-py3-kms.sh
+++ b/docker/docker-py3-kms/build-py3-kms.sh
@@ -1,4 +1 @@
-docker stop py3-kms
-docker rm py3-kms
-docker image rm pykms/pykms:py3-kms
-docker build -t pykms/pykms:py3-kms .
+docker build -t pykms/pykms:py3-kms . --file Dockerfile.amd64
diff --git a/docker/docker-py3-kms/hooks/post_push b/docker/docker-py3-kms/hooks/post_push
new file mode 100644
index 0000000..698e3ce
--- /dev/null
+++ b/docker/docker-py3-kms/hooks/post_push
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+# Use manifest-tool to create the manifest, given the experimental
+# "docker manifest" command isn't available yet on Docker Hub.
+
+curl -Lo manifest-tool "https://github.com/estesp/manifest-tool/releases/download/v1.0.2/manifest-tool-linux-amd64"
+chmod +x manifest-tool
+
+./manifest-tool push from-spec multi-arch-manifest-python3.yaml
diff --git a/docker/docker-py3-kms/hooks/pre_build b/docker/docker-py3-kms/hooks/pre_build
new file mode 100755
index 0000000..0a94f7e
--- /dev/null
+++ b/docker/docker-py3-kms/hooks/pre_build
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+# Register qemu-*-static for all supported processors except the 
+# current one, but also remove all registered binfmt_misc before
+docker run --rm --privileged multiarch/qemu-user-static:register --reset
diff --git a/docker/docker-py3-kms/multi-arch-manifest-python3.yaml b/docker/docker-py3-kms/multi-arch-manifest-python3.yaml
new file mode 100644
index 0000000..ede1020
--- /dev/null
+++ b/docker/docker-py3-kms/multi-arch-manifest-python3.yaml
@@ -0,0 +1,21 @@
+image: pykmsorg/py-kms:python3
+manifests:
+  - image: pykmsorg/py-kms:python3-amd64
+    platform:
+      architecture: amd64
+      os: linux
+  - image: pykmsorg/py-kms:python3-arm32v6
+    platform:
+      architecture: arm
+      os: linux
+      variant: v6
+  - image: pykmsorg/py-kms:python3-arm32v7
+    platform:
+      architecture: arm
+      os: linux
+      variant: v7
+  - image: pykmsorg/py-kms:python3-arm64v8
+    platform:
+      architecture: arm64
+      os: linux
+      variant: v8
diff --git a/docs/Getting Started.md b/docs/Getting Started.md
index 83025e3..37541fd 100644
--- a/docs/Getting Started.md	
+++ b/docs/Getting Started.md	
@@ -17,14 +17,23 @@ command will download, "install" and start _py-kms_ and also keep it alive after
 ```bash
 docker run -d --name py-kms --restart always -p 1688:1688 pykmsorg/py-kms
 ```
+If you just want to use the image and don't want to build them yourself, you can always use the official image at the [Docker Hub](https://hub.docker.com/r/pykmsorg/py-kms) (`pykmsorg/py-kms`). To ensure that you are using always the
+latest version you should check something like [watchtower](https://github.com/containrrr/watchtower) out !
 
+#### Tags
 There are currently three tags of the image available (select one just by appending `:<tag>` to the image from above):
 * `latest`, currently the same like `minimal`.
 * `minimal`, which is based on the python3 minimal configuration of py-kms. _This tag does NOT include `sqlite` support !_
 * `python3`, which is fully configurable and equipped with `sqlite` support and a web interface for management.
 
-If you just want to use the image and don't want to build them yourself, you can always use the official image at the [Docker Hub](https://hub.docker.com/r/pykmsorg/py-kms) (`pykmsorg/py-kms`). To ensure that you are using always the
-latest version you should check something like [watchtower](https://github.com/containrrr/watchtower) out !
+#### Architectures
+There are currently the following architectures available (if you need an other, feel free to open an issue):
+* `amd64`
+* `arm32v6` Raspberry PI 1 (A, A+, B, B+, Zero)
+* `arm32v7` Raspberry PI 2 (B)
+* `arm64v8` Raspberry PI 2 (B v1.2), Raspberry PI 3 (A+, B, B+), Raspberry PI 4 (B)
+
+_Please note that any architecture other than the classic `amd64` is slightly bigger (~4 MB), caused by the use of qemu during building._
 
 ### Systemd
 If you are running a Linux distro using `systemd`, create the file: `sudo nano /etc/systemd/system/py3-kms.service`, then add the following (change it where needed) and save:
diff --git a/docs/img/win1.png b/docs/img/win1.png
index 8f1417c..1787bf5 100644
Binary files a/docs/img/win1.png and b/docs/img/win1.png differ
diff --git a/docs/img/win2.png b/docs/img/win2.png
index b2fffab..06ee2e5 100644
Binary files a/docs/img/win2.png and b/docs/img/win2.png differ