Added python3 multiarch

This commit is contained in:
Simon Beginn 2020-09-10 15:52:50 +02:00
parent 280cb09ad4
commit c04382d200
7 changed files with 129 additions and 4 deletions

View File

@ -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 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"]

View File

@ -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 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"]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,16 @@
image: realsimonmicro/py-kms-multiarch:python3
manifests:
- image: realsimonmicro/py-kms-multiarch:python3-amd64
platform:
architecture: amd64
os: linux
- image: realsimonmicro/py-kms-multiarch:python3-arm32v7
platform:
architecture: arm
os: linux
variant: v7
- image: realsimonmicro/py-kms-multiarch:python3-arm64v8
platform:
architecture: arm64
os: linux
variant: v8