mirror of
https://github.com/BOSWatch/BW3-Core.git
synced 2025-12-06 07:12:04 +01:00
Update Dockerfile, add Build for Images, change docker-compose to use images
This commit is contained in:
parent
47c75772d1
commit
20da06ab91
20
.github/workflows/build_image.yml
vendored
20
.github/workflows/build_image.yml
vendored
|
|
@ -12,14 +12,16 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Build the Docker image
|
- name: Build the Docker image for the Client
|
||||||
run: docker build . --file Dockerfile --tag boswatch:latest
|
run: docker build . --file Dockerfile --target client --tag docker.pkg.github.com/janspeller/bw3-core/client:latest
|
||||||
|
- name: Build the Docker image for the Server
|
||||||
|
run: docker build . --file Dockerfile --target server --tag docker.pkg.github.com/janspeller/bw3-core/server:latest
|
||||||
- name: docker login
|
- name: docker login
|
||||||
env:
|
env:
|
||||||
GH_PACKAGES_USERNAME: ${{ secrets.GH_PACKAGES_USERNAME }}
|
GH_USERNAME: ${{ secrets.GH_USERNAME }}
|
||||||
GH_PACKAGES_PASSWORD: ${{ secrets.GH_PACKAGES_PASSWORD }}
|
GH_PAT: ${{ secrets.GH_PAT }}
|
||||||
run: docker login docker.pkg.github.com --username $GH_PACKAGES_USERNAME --password $GH_PACKAGES_PASSWORD
|
run: echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
|
||||||
- name: Rename the Docker image
|
- name: Push the Client Docker image to Github package repository
|
||||||
run: docker tag boswatch docker.pkg.github.com/janspeller/bw3-core/boswatch:latest
|
run: docker push docker.pkg.github.com/BOSWatch/bw3-core/client:latest
|
||||||
- name: Push the Docker image to Github package repository
|
- name: Push the Server Docker image to Github package repository
|
||||||
run: docker push docker.pkg.github.com/BOSWatch/bw3-core/boswatch:latest
|
run: docker push docker.pkg.github.com/BOSWatch/bw3-core/se4rver:latest
|
||||||
|
|
|
||||||
23
Dockerfile
23
Dockerfile
|
|
@ -1,25 +1,23 @@
|
||||||
FROM alpine:3.10 AS build-base
|
FROM alpine:latest AS build-base
|
||||||
RUN apk add git make cmake g++ libusb-dev libpulse
|
RUN apk add --no-cache git make cmake g++ libusb-dev libpulse
|
||||||
|
|
||||||
FROM build-base AS rtl_fm
|
FROM build-base AS rtl_fm
|
||||||
ARG RTL_SDR_VERSION=0.6.0
|
RUN git clone --depth 1 https://gitea.osmocom.org/sdr/rtl-sdr.git /opt/rtl_sdr
|
||||||
RUN git clone --depth 1 --branch ${RTL_SDR_VERSION} https://github.com/osmocom/rtl-sdr.git /opt/rtl_sdr
|
|
||||||
WORKDIR /opt/rtl_sdr/build
|
WORKDIR /opt/rtl_sdr/build
|
||||||
RUN cmake .. && make
|
RUN cmake .. && make
|
||||||
|
|
||||||
FROM build-base AS multimon
|
FROM build-base AS multimon
|
||||||
ARG MULTIMON_VERSION=1.1.8
|
RUN git clone --depth 1 https://github.com/EliasOenal/multimon-ng.git /opt/multimon
|
||||||
RUN git clone --depth 1 --branch ${MULTIMON_VERSION} https://github.com/EliasOenal/multimon-ng.git /opt/multimon
|
|
||||||
WORKDIR /opt/multimon/build
|
WORKDIR /opt/multimon/build
|
||||||
RUN cmake .. && make
|
RUN cmake .. && make
|
||||||
|
|
||||||
FROM alpine:3.10 AS boswatch
|
FROM alpine:latest AS boswatch
|
||||||
ARG BW_VERSION=develop
|
ARG BW_VERSION=develop
|
||||||
RUN apk add git && \
|
RUN apk add git && \
|
||||||
git clone --depth 1 --branch ${BW_VERSION} https://github.com/BOSWatch/BW3-Core.git /opt/boswatch
|
git clone --depth 1 --branch ${BW_VERSION} https://github.com/BOSWatch/BW3-Core.git /opt/boswatch
|
||||||
|
|
||||||
|
|
||||||
FROM python:3.6-alpine AS runner
|
FROM python:alpine AS boswatch-base
|
||||||
LABEL maintainer="bastian@schroll-software.de"
|
LABEL maintainer="bastian@schroll-software.de"
|
||||||
|
|
||||||
# for RTL for MM
|
# for RTL for MM
|
||||||
|
|
@ -27,5 +25,14 @@ RUN apk add libusb-dev libpulse && \
|
||||||
pip3 install pyyaml
|
pip3 install pyyaml
|
||||||
|
|
||||||
COPY --from=boswatch /opt/boswatch/ /opt/boswatch/
|
COPY --from=boswatch /opt/boswatch/ /opt/boswatch/
|
||||||
|
RUN mkdir /opt/boswatch/log
|
||||||
COPY --from=multimon /opt/multimon/build/multimon-ng /opt/multimon/multimon-ng
|
COPY --from=multimon /opt/multimon/build/multimon-ng /opt/multimon/multimon-ng
|
||||||
COPY --from=rtl_fm /opt/rtl_sdr/build/src/ /opt/rtl_sdr/
|
COPY --from=rtl_fm /opt/rtl_sdr/build/src/ /opt/rtl_sdr/
|
||||||
|
WORKDIR /opt/boswatch
|
||||||
|
|
||||||
|
FROM boswatch-base AS client
|
||||||
|
CMD python3 /opt/boswatch/bw_client.py -c client.yaml
|
||||||
|
|
||||||
|
FROM boswatch-base AS server
|
||||||
|
CMD python3 /opt/boswatch/bw_server.py -c server.yaml
|
||||||
|
EXPOSE 8080
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,8 @@
|
||||||
version: '3'
|
version: '3'
|
||||||
services:
|
services:
|
||||||
client:
|
client:
|
||||||
build:
|
image: docker.pkg.github.com/janspeller/bw3-core/client:latest
|
||||||
dockerfile: docker/localdev/Client.Dockerfile
|
|
||||||
context: .
|
|
||||||
command: python /opt/boswatch/bw_client.py -c client.yaml
|
|
||||||
devices:
|
devices:
|
||||||
- "/dev/bus/usb"
|
- "/dev/bus/usb"
|
||||||
server:
|
server:
|
||||||
build:
|
image: docker.pkg.github.com/janspeller/bw3-core/server:latest
|
||||||
dockerfile: docker/localdev/Server.Dockerfile
|
|
||||||
context: .
|
|
||||||
command: python /opt/boswatch/bw_server.py -c server.yaml
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
FROM alpine:3.10 AS boswatch
|
|
||||||
ARG BW_VERSION=develop
|
|
||||||
RUN apk add git && \
|
|
||||||
git clone --depth 1 --branch ${BW_VERSION} https://github.com/BOSWatch/BW3-Core.git /opt/boswatch
|
|
||||||
|
|
||||||
FROM python:3.6-alpine AS runner
|
|
||||||
LABEL maintainer="bastian@schroll-software.de"
|
|
||||||
|
|
||||||
RUN pip3 install pyyaml
|
|
||||||
|
|
||||||
RUN mkdir /log/
|
|
||||||
COPY --from=boswatch /opt/boswatch/ /opt/boswatch/
|
|
||||||
COPY ./config/* /opt/boswatch/config/
|
|
||||||
|
|
@ -5,7 +5,7 @@ pyyaml
|
||||||
# for documentation generating
|
# for documentation generating
|
||||||
mkdocs
|
mkdocs
|
||||||
|
|
||||||
# for develope only
|
# for develop only
|
||||||
pytest
|
pytest
|
||||||
pytest-cov
|
pytest-cov
|
||||||
pytest-flake8
|
pytest-flake8
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue