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)|
|
| 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)|
|
| 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)|
|
| 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)|
|
| Snap | [![wmbusmeters](https://snapcraft.io//wmbusmeters/badge.svg)](https://snapcraft.io/wmbusmeters)|
|
||||||
|
|
||||||
# Distributions
|
# 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 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 && \
|
RUN git clone https://github.com/weetmuts/wmbusmeters.git && \
|
||||||
git clone https://github.com/weetmuts/rtl-wmbus.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
|
WORKDIR /rtl_433
|
||||||
RUN mkdir build && cd build && cmake ../ && make
|
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
|
ENV QEMU_EXECVE=1
|
||||||
RUN apk add --no-cache mosquitto-clients libstdc++ curl libusb ncurses rtl-sdr netcat-openbsd
|
RUN apk add --no-cache mosquitto-clients libstdc++ curl libusb ncurses rtl-sdr netcat-openbsd
|
||||||
WORKDIR /wmbusmeters
|
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 /rtl_433/build/src/rtl_433 /usr/bin/rtl_433
|
||||||
COPY --from=build /wmbusmeters/docker/docker-entrypoint.sh /wmbusmeters/docker-entrypoint.sh
|
COPY --from=build /wmbusmeters/docker/docker-entrypoint.sh /wmbusmeters/docker-entrypoint.sh
|
||||||
VOLUME /wmbusmeters_data/
|
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)
|
[FAQ/WIKI/MANUAL pages](https://github.com/weetmuts/wmbusmeters)
|
||||||
|
|
||||||
- Supported architectures
|
- Supported architectures
|
||||||
- ARMv7 32-bit (`arm32v7`)
|
- ARMv7 32-bit (`armv7`)
|
||||||
- ARMv8 64-bit (`arm64v8`)
|
- ARMv8 64-bit (`arm64`)
|
||||||
- Linux x86-64 (`amd64`)
|
- Linux x86-64 (`amd64`)
|
||||||
|
|
||||||
## Running the wmbusmeters container
|
## Running the wmbusmeters container
|
||||||
|
|
|
@ -2,6 +2,6 @@
|
||||||
|
|
||||||
[ ! -d /wmbusmeters_data/logs/meter_readings ] && mkdir -p /wmbusmeters_data/logs/meter_readings
|
[ ! -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
|
[ ! -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
|
/wmbusmeters/wmbusmeters --useconfig=/wmbusmeters_data
|
||||||
|
|
Ładowanie…
Reference in New Issue