diff --git a/Dockerfile b/Dockerfile index 3afb9dea..cea71178 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,8 @@ -FROM debian:9.9-slim - -EXPOSE 9436 - -COPY scripts/start.sh /app/ -COPY dist/mikrotik-exporter_linux_amd64 /app/mikrotik-exporter - -RUN chmod 755 /app/* - -ENTRYPOINT ["/app/start.sh"] \ No newline at end of file +FROM golang:1.16 AS builder +WORKDIR /go/src/app +COPY . . +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build + +FROM scratch +COPY --from=builder /go/src/app/mikrotik-exporter /mikrotik-exporter +ENTRYPOINT ["/mikrotik-exporter"] \ No newline at end of file diff --git a/Dockerfile.arm64 b/Dockerfile.arm64 index ce959d01..43dc382a 100644 --- a/Dockerfile.arm64 +++ b/Dockerfile.arm64 @@ -1,8 +1,8 @@ -FROM arm64v8/busybox:1.31.0 +FROM golang:1.16 AS builder +WORKDIR /go/src/app +COPY . . +RUN CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -EXPOSE 9090 - -COPY scripts/start.sh /app/ -COPY dist/mikrotik-exporter_linux_arm64 /app/mikrotik-exporter - -ENTRYPOINT ["/app/start.sh"] +FROM scratch +COPY --from=builder /go/src/app/mikrotik-exporter /mikrotik-exporter +ENTRYPOINT ["/mikrotik-exporter"] \ No newline at end of file diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 242c5cab..fdf87a2b 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -1,10 +1,8 @@ -FROM arm32v7/busybox:1.27.2 - -EXPOSE 9090 - -COPY scripts/start.sh /app/ -COPY dist/mikrotik-exporter_linux_arm /app/mikrotik-exporter - -RUN chmod 755 /app/* - -ENTRYPOINT ["/app/start.sh"] \ No newline at end of file +FROM golang:1.16 AS builder +WORKDIR /go/src/app +COPY . . +RUN CGO_ENABLED=0 GOOS=linux GOARCH=arm go build + +FROM scratch +COPY --from=builder /go/src/app/mikrotik-exporter /mikrotik-exporter +ENTRYPOINT ["/mikrotik-exporter"] \ No newline at end of file diff --git a/go.mod b/go.mod index 1cf7c747..9dd49bf8 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module mikrotik-exporter -go 1.13 +go 1.16 require ( github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect diff --git a/scripts/build-armhf.sh b/scripts/build-armhf.sh deleted file mode 100755 index 0177dcdc..00000000 --- a/scripts/build-armhf.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -set -e -set -x - -DIR=`pwd` -NAME=`basename ${DIR}` -SHA=`git rev-parse --short HEAD` -VERSION=${VERSION:-$SHA} - -GOOS=linux GOARCH=arm go build . - -docker build -t nshttpd/${NAME}:${VERSION}-armhf -f Dockerfile.armhf . -docker push nshttpd/${NAME}:${VERSION}-armhf - -rm mikrotik-exporter \ No newline at end of file diff --git a/scripts/build.sh b/scripts/build.sh deleted file mode 100755 index 4b459981..00000000 --- a/scripts/build.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -set -e -set -x - -DIR=`pwd` -NAME=`basename ${DIR}` -SHA=`git rev-parse --short HEAD` -VERSION=${VERSION:-$SHA} - -GOOS=linux GOARCH=amd64 go build . - -docker build -t nshttpd/${NAME}:${VERSION} . -docker push nshttpd/${NAME}:${VERSION} - -rm mikrotik-exporter \ No newline at end of file diff --git a/scripts/start.sh b/scripts/start.sh deleted file mode 100755 index 0e025bda..00000000 --- a/scripts/start.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -if [ ! -x /app/mikrotik-exporter ]; then - chmod 755 /app/mikrotik-exporter -fi - -if [ -z "$CONFIG_FILE" ] -then - /app/mikrotik-exporter -device $DEVICE -address $ADDRESS -user $USER -password $PASSWORD -else - /app/mikrotik-exporter -config-file $CONFIG_FILE -fi