Skip to content
This repository has been archived by the owner on Oct 26, 2023. It is now read-only.

Commit

Permalink
arm32v7 docker build setup (#97)
Browse files Browse the repository at this point in the history
  • Loading branch information
krasnoukhov authored and zewelor committed Aug 30, 2019
1 parent 838549d commit 8b9149e
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 0 deletions.
43 changes: 43 additions & 0 deletions Dockerfile.arm32v7
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
FROM alpine AS builder

ENV QEMU_URL https://github.com/balena-io/qemu/releases/download/v3.0.0%2Bresin/qemu-3.0.0+resin-arm.tar.gz
RUN apk add curl && curl -L ${QEMU_URL} | tar zxvf - -C . --strip-components 1

FROM arm32v7/alpine:3.9

COPY --from=builder qemu-arm-static /usr/bin
RUN mkdir application
WORKDIR /application
ADD . /application

RUN apk add --no-cache tzdata python3 git bluez glib-dev make bluez-dev bluez-libs musl-dev linux-headers gcc grep && \
python3 -m ensurepip && \
rm -r /usr/lib/python*/ensurepip && \
pip3 install --upgrade pip setuptools && \
if [ ! -e /usr/bin/pip ]; then \
ln -s pip3 /usr/bin/pip ; \
fi && \
if [[ ! -e /usr/bin/python ]]; then \
ln -sf /usr/bin/python3 /usr/bin/python; \
fi && \
rm -r /root/.cache && \
mkdir /config && \
pip install -r requirements.txt && \
ln -s /config/config.yaml ./config.yaml && \
apk del --no-cache bluez-dev musl-dev gcc make git glib-dev linux-headers grep python2

RUN apk add --no-cache tzdata python3 git bluez glib-dev make bluez-dev bluez-libs musl-dev linux-headers gcc grep && \
grep -P "(?<=REQUIREMENTS).*" workers/*.py | grep -Po "(?<=\[).*(?=\])" | tr ',' '\n' | tr "'" " "| tr "\"" " " > /tmp/requirements.txt && \
cat /tmp/requirements.txt && \
pip install -r /tmp/requirements.txt && \
rm /tmp/requirements.txt && \
apk del --no-cache bluez-dev musl-dev gcc make git glib-dev linux-headers grep python2

ADD ./start.sh /start.sh
RUN chmod +x /start.sh

ENV DEBUG false

VOLUME ["/config"]

ENTRYPOINT ["/bin/sh", "-c", "/start.sh"]
6 changes: 6 additions & 0 deletions hooks/post_push
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

curl -Lo manifest-tool https://github.com/estesp/manifest-tool/releases/download/v0.9.0/manifest-tool-linux-amd64
chmod +x manifest-tool

./manifest-tool push from-spec multi-arch-manifest.yaml
3 changes: 3 additions & 0 deletions hooks/pre_build
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

docker run --rm --privileged multiarch/qemu-user-static:register --reset
11 changes: 11 additions & 0 deletions multi-arch-manifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
image: zewelor/bt-mqtt-gateway:latest
manifests:
- image: zewelor/bt-mqtt-gateway:amd64
platform:
architecture: amd64
os: linux
- image: zewelor/bt-mqtt-gateway:arm32v7
platform:
architecture: arm
os: linux
variant: v7

0 comments on commit 8b9149e

Please sign in to comment.