kopia lustrzana https://github.com/weetmuts/wmbusmeters
Docker update
Moving docker building from TravisCI to docker actions. Tested built images on amd64 and arm64. Adding also dependabot checks for used github action script updates.pull/718/head
rodzic
9a8cd21628
commit
db11475e3d
|
@ -1,105 +0,0 @@
|
|||
version: 2
|
||||
jobs:
|
||||
amd64:
|
||||
machine:
|
||||
enabled: true
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
command: |
|
||||
if [[ ! $CIRCLE_BRANCH ]]
|
||||
then
|
||||
DOCKER_TAG=release-$CIRCLE_TAG
|
||||
else
|
||||
DOCKER_TAG=latest
|
||||
fi
|
||||
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
|
||||
sudo docker build --pull -t $DOCKERHUB_REPO:$DOCKER_TAG-amd64 -f docker/Dockerfile .
|
||||
sudo docker push $DOCKERHUB_REPO:$DOCKER_TAG-amd64
|
||||
armhf:
|
||||
machine:
|
||||
enabled: true
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
command: |
|
||||
if [[ ! $CIRCLE_BRANCH ]]
|
||||
then
|
||||
DOCKER_TAG=release-$CIRCLE_TAG
|
||||
else
|
||||
DOCKER_TAG=latest
|
||||
fi
|
||||
sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
|
||||
sudo docker build --pull -t $DOCKERHUB_REPO:$DOCKER_TAG-armhf -f docker/Dockerfile.armhf .
|
||||
sudo docker push $DOCKERHUB_REPO:$DOCKER_TAG-armhf
|
||||
arm64v8:
|
||||
machine:
|
||||
enabled: true
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
command: |
|
||||
if [[ ! $CIRCLE_BRANCH ]]
|
||||
then
|
||||
DOCKER_TAG=release-$CIRCLE_TAG
|
||||
else
|
||||
DOCKER_TAG=latest
|
||||
fi
|
||||
sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
|
||||
sudo docker build --pull -t $DOCKERHUB_REPO:$DOCKER_TAG-arm64v8 -f docker/Dockerfile.arm64v8 .
|
||||
sudo docker push $DOCKERHUB_REPO:$DOCKER_TAG-arm64v8
|
||||
multiarch:
|
||||
machine:
|
||||
enabled: true
|
||||
image: ubuntu-2004:202201-02
|
||||
steps:
|
||||
- run:
|
||||
command: |
|
||||
if [[ ! $CIRCLE_BRANCH ]]
|
||||
then
|
||||
DOCKER_TAG=release-$CIRCLE_TAG
|
||||
else
|
||||
DOCKER_TAG=latest
|
||||
fi
|
||||
#
|
||||
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
|
||||
#
|
||||
sudo docker manifest create --amend $DOCKERHUB_REPO:$DOCKER_TAG $DOCKERHUB_REPO:$DOCKER_TAG-amd64 $DOCKERHUB_REPO:$DOCKER_TAG-armhf $DOCKERHUB_REPO:$DOCKER_TAG-arm64v8
|
||||
sudo docker manifest annotate $DOCKERHUB_REPO:$DOCKER_TAG $DOCKERHUB_REPO:$DOCKER_TAG-amd64 --os linux --arch amd64
|
||||
sudo docker manifest annotate $DOCKERHUB_REPO:$DOCKER_TAG $DOCKERHUB_REPO:$DOCKER_TAG-armhf --os linux --arch arm --variant v7
|
||||
sudo docker manifest annotate $DOCKERHUB_REPO:$DOCKER_TAG $DOCKERHUB_REPO:$DOCKER_TAG-arm64v8 --os linux --arch arm64 --variant v8
|
||||
sudo docker manifest push $DOCKERHUB_REPO:$DOCKER_TAG -p
|
||||
workflows:
|
||||
version: 2
|
||||
publish:
|
||||
jobs:
|
||||
- amd64:
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
tags:
|
||||
only: /^\d+\.\d+\.\d+$/
|
||||
- armhf:
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
tags:
|
||||
only: /^\d+\.\d+\.\d+$/
|
||||
- arm64v8:
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
tags:
|
||||
only: /^\d+\.\d+\.\d+$/
|
||||
- multiarch:
|
||||
requires:
|
||||
- amd64
|
||||
- armhf
|
||||
- arm64v8
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
tags:
|
||||
only: /^\d+\.\d+\.\d+$/
|
|
@ -0,0 +1,7 @@
|
|||
version: 2
|
||||
updates:
|
||||
# Maintain dependencies for GitHub Actions
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
|
@ -0,0 +1,53 @@
|
|||
name: Build docker
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
tags:
|
||||
- '*.*.*'
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
-
|
||||
name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: weetmuts/wmbusmeters
|
||||
tags: type=ref,event=tag
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
-
|
||||
name: Login to DockerHub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
-
|
||||
name: Build and push not tagged release
|
||||
if: ${{ !steps.meta.outputs.tags }}
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: docker/
|
||||
platforms: linux/amd64,linux/arm64,linux/armv7
|
||||
push: true
|
||||
tags: weetmuts/wmbusmeters:latest
|
||||
-
|
||||
name: Build and push tagged release
|
||||
if: ${{ steps.meta.outputs.tags }}
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: docker/
|
||||
platforms: linux/amd64,linux/arm64,linux/armv7
|
||||
push: true
|
||||
tags: weetmuts/wmbusmeters:release-${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}
|
|
@ -14,8 +14,8 @@ The program runs on GNU/Linux, MacOSX, FreeBSD, and Raspberry Pi.
|
|||
| ------------ |:-------------:|
|
||||
| Ubuntu | [![Build Ubuntu Status](https://github.com/weetmuts/wmbusmeters/workflows/Build%20Ubuntu/badge.svg)](https://github.com/weetmuts/wmbusmeters/actions)|
|
||||
| MacOSX | [![Build MacOSX Status](https://github.com/weetmuts/wmbusmeters/workflows/Build%20MacOSX/badge.svg)](https://github.com/weetmuts/wmbusmeters/actions)|
|
||||
|Docker |[![CircleCI>](https://circleci.com/gh/weetmuts/wmbusmeters.svg?style=shield)](https://circleci.com/gh/weetmuts/wmbusmeters)|
|
||||
|Snap |[![wmbusmeters](https://snapcraft.io//wmbusmeters/badge.svg)](https://snapcraft.io/wmbusmeters)|
|
||||
| Docker | [![Build Docker Status](https://github.com/weetmuts/wmbusmeters/workflows/Build%20docker/badge.svg)](https://hub.docker.com/r/weetmuts/wmbusmeters/)|
|
||||
| Snap | [![wmbusmeters](https://snapcraft.io//wmbusmeters/badge.svg)](https://snapcraft.io/wmbusmeters)|
|
||||
|
||||
# Distributions
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
FROM multiarch/alpine:amd64-latest-stable AS build
|
||||
FROM multiarch/alpine:${TARGETARCH}-latest-stable AS build
|
||||
RUN apk add --no-cache alpine-sdk gcc linux-headers ncurses-dev librtlsdr-dev cmake libusb-dev bash
|
||||
RUN git clone https://github.com/weetmuts/wmbusmeters.git && \
|
||||
git clone https://github.com/weetmuts/rtl-wmbus.git && \
|
||||
|
@ -10,7 +10,7 @@ RUN make release && chmod 755 build/rtl_wmbus
|
|||
WORKDIR /rtl_433
|
||||
RUN mkdir build && cd build && cmake ../ && make
|
||||
|
||||
FROM multiarch/alpine:amd64-latest-stable as scratch
|
||||
FROM multiarch/alpine:${TARGETARCH}-latest-stable as scratch
|
||||
ENV QEMU_EXECVE=1
|
||||
RUN apk add --no-cache mosquitto-clients libstdc++ curl libusb ncurses rtl-sdr netcat-openbsd
|
||||
WORKDIR /wmbusmeters
|
||||
|
@ -19,4 +19,4 @@ COPY --from=build /rtl-wmbus/build/rtl_wmbus /usr/bin/rtl_wmbus
|
|||
COPY --from=build /rtl_433/build/src/rtl_433 /usr/bin/rtl_433
|
||||
COPY --from=build /wmbusmeters/docker/docker-entrypoint.sh /wmbusmeters/docker-entrypoint.sh
|
||||
VOLUME /wmbusmeters_data/
|
||||
CMD ["sh", "/wmbusmeters/docker-entrypoint.sh"]
|
||||
CMD ["sh", "/wmbusmeters/docker-entrypoint.sh"]
|
|
@ -1,22 +0,0 @@
|
|||
FROM multiarch/alpine:arm64-latest-stable AS build
|
||||
RUN apk add --no-cache alpine-sdk gcc linux-headers ncurses-dev librtlsdr-dev cmake libusb-dev bash
|
||||
RUN git clone https://github.com/weetmuts/wmbusmeters.git && \
|
||||
git clone https://github.com/weetmuts/rtl-wmbus.git && \
|
||||
git clone https://github.com/merbanan/rtl_433.git
|
||||
WORKDIR /wmbusmeters
|
||||
RUN make
|
||||
WORKDIR /rtl-wmbus
|
||||
RUN make release && chmod 755 build/rtl_wmbus
|
||||
WORKDIR /rtl_433
|
||||
RUN mkdir build && cd build && cmake ../ && make
|
||||
|
||||
FROM multiarch/alpine:arm64-latest-stable as scratch
|
||||
ENV QEMU_EXECVE=1
|
||||
RUN apk add --no-cache mosquitto-clients libstdc++ curl libusb ncurses rtl-sdr netcat-openbsd
|
||||
WORKDIR /wmbusmeters
|
||||
COPY --from=build /wmbusmeters/build/wmbusmeters /wmbusmeters/wmbusmeters
|
||||
COPY --from=build /rtl-wmbus/build/rtl_wmbus /usr/bin/rtl_wmbus
|
||||
COPY --from=build /rtl_433/build/src/rtl_433 /usr/bin/rtl_433
|
||||
COPY --from=build /wmbusmeters/docker/docker-entrypoint.sh /wmbusmeters/docker-entrypoint.sh
|
||||
VOLUME /wmbusmeters_data/
|
||||
CMD ["sh", "/wmbusmeters/docker-entrypoint.sh"]
|
|
@ -1,22 +0,0 @@
|
|||
FROM multiarch/alpine:armhf-latest-stable AS build
|
||||
RUN apk add --no-cache alpine-sdk gcc linux-headers ncurses-dev librtlsdr-dev cmake libusb-dev bash
|
||||
RUN git clone https://github.com/weetmuts/wmbusmeters.git && \
|
||||
git clone https://github.com/weetmuts/rtl-wmbus.git && \
|
||||
git clone https://github.com/merbanan/rtl_433.git
|
||||
WORKDIR /wmbusmeters
|
||||
RUN make
|
||||
WORKDIR /rtl-wmbus
|
||||
RUN make release && chmod 755 build/rtl_wmbus
|
||||
WORKDIR /rtl_433
|
||||
RUN mkdir build && cd build && cmake ../ && make
|
||||
|
||||
FROM multiarch/alpine:armhf-latest-stable as scratch
|
||||
ENV QEMU_EXECVE=1
|
||||
RUN apk add --no-cache mosquitto-clients libstdc++ curl libusb ncurses rtl-sdr netcat-openbsd
|
||||
WORKDIR /wmbusmeters
|
||||
COPY --from=build /wmbusmeters/build/wmbusmeters /wmbusmeters/wmbusmeters
|
||||
COPY --from=build /rtl-wmbus/build/rtl_wmbus /usr/bin/rtl_wmbus
|
||||
COPY --from=build /rtl_433/build/src/rtl_433 /usr/bin/rtl_433
|
||||
COPY --from=build /wmbusmeters/docker/docker-entrypoint.sh /wmbusmeters/docker-entrypoint.sh
|
||||
VOLUME /wmbusmeters_data/
|
||||
CMD ["sh", "/wmbusmeters/docker-entrypoint.sh"]
|
|
@ -7,8 +7,8 @@ MQTT, curled to a REST api, inserted into a database or stored in a log file.
|
|||
[FAQ/WIKI/MANUAL pages](https://github.com/weetmuts/wmbusmeters)
|
||||
|
||||
- Supported architectures
|
||||
- ARMv7 32-bit (`arm32v7`)
|
||||
- ARMv8 64-bit (`arm64v8`)
|
||||
- ARMv7 32-bit (`armv7`)
|
||||
- ARMv8 64-bit (`arm64`)
|
||||
- Linux x86-64 (`amd64`)
|
||||
|
||||
## Running the wmbusmeters container
|
||||
|
|
|
@ -2,6 +2,6 @@
|
|||
|
||||
[ ! -d /wmbusmeters_data/logs/meter_readings ] && mkdir -p /wmbusmeters_data/logs/meter_readings
|
||||
[ ! -d /wmbusmeters_data/etc/wmbusmeters.d ] && mkdir -p /wmbusmeters_data/etc/wmbusmeters.d
|
||||
[ ! -f /wmbusmeters_data/etc/wmbusmeters.conf ] && echo -e "loglevel=normal\ndevice=auto\nlistento=t1\nlogtelegrams=false\nformat=json\nmeterfiles=/wmbusmeters_data/logs/meter_readings\nmeterfilesaction=overwrite\nlogfile=/wmbusmeters_data/logs/wmbusmeters.log" > /wmbusmeters_data/etc/wmbusmeters.conf
|
||||
[ ! -f /wmbusmeters_data/etc/wmbusmeters.conf ] && echo -e "loglevel=normal\ndevice=auto:t1\ndonotprobe=/dev/ttyAMA0\nlogtelegrams=false\nformat=json\nmeterfiles=/wmbusmeters_data/logs/meter_readings\nmeterfilesaction=overwrite\nlogfile=/wmbusmeters_data/logs/wmbusmeters.log" > /wmbusmeters_data/etc/wmbusmeters.conf
|
||||
|
||||
/wmbusmeters/wmbusmeters --useconfig=/wmbusmeters_data
|
||||
|
|
Ładowanie…
Reference in New Issue