diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index fb2904c..f9ea969 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -75,14 +75,12 @@ jobs: registry: ${{ vars.REGISTRY }} username: ${{ vars.DEPLOY_USER }} password: ${{ secrets.DEPLOY_TOKEN }} - add-hosts: ${{ vars.ADD_HOSTS }} - name: Build and push receiver container uses: docker/build-push-action@v6 with: push: true tags: ${{ vars.REGISTRY }}/ham/hamview-receiver:latest context: . - add-hosts: ${{ vars.ADD_HOSTS }} platforms: | linux/amd64 linux/arm/v6 diff --git a/Dockerfile b/Dockerfile index 96d7621..70a40a7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,12 @@ FROM alpine:3 +RUN apk add --no-cache dumb-init=1.2.5-r4 + +WORKDIR /app + ARG TARGETARCH ARG TARGETVARIANT -COPY ./etc /etc/hamview -COPY ./build/hamview-receiver-${TARGETARCH}${TARGETVARIANT#v} /opt/hamview/bin/hamview-receiver -WORKDIR /opt/hamview -ENTRYPOINT ["bin/hamview-receiver"] -CMD [ "protocol" ] +COPY ./etc /app/config +COPY ./build/hamview-receiver-${TARGETARCH}${TARGETVARIANT#v} /app/hamview-receiver +COPY ./entrypoint.sh /entrypoint.sh + +ENTRYPOINT ["dumb-init", "/entrypoint.sh"] diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100755 index 0000000..0d7df45 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +run() { + case "${PROTOCOL}" in + "") exec "/app/hamview-receiver" help ;; + *) exec "/app/hamview-receiver" --config "/app/config/hamview-${PROTOCOL}.yaml" "${PROTOCOL}" ;; + esac +} + +case "$@" in + "") + run + ;; + *) + exec "/bin/sh" -c "$@" + ;; +esac