diff --git a/integrations/inputunifi/.dockerignore b/integrations/inputunifi/.dockerignore new file mode 100644 index 00000000..02787e9f --- /dev/null +++ b/integrations/inputunifi/.dockerignore @@ -0,0 +1,2 @@ +Dockerfile +.travis.yml diff --git a/integrations/inputunifi/Dockerfile b/integrations/inputunifi/Dockerfile new file mode 100644 index 00000000..81214a23 --- /dev/null +++ b/integrations/inputunifi/Dockerfile @@ -0,0 +1,34 @@ +# +# building static go binary with golang container +# +FROM golang:stretch as builder + +RUN mkdir -p $GOPATH/pkg/mod $GOPATH/bin + +RUN apt-get update \ + && apt-get install -y curl \ + && curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh \ + && mkdir -p $GOPATH/src/github.com/davidnewhall + +COPY . $GOPATH/src/github.com/davidnewhall/unifi-poller +WORKDIR $GOPATH/src/github.com/davidnewhall/unifi-poller + +RUN dep ensure \ + && CGO_ENABLED=0 make linux + +# +# creating container for run +# to use this container use the following command: +# +# docker run -d -v /your/config/up.conf:/etc/unifi-poller/up.conf golift/unifi-poller +# +# by using "-e UNIFI_PASSWORD=your-secret-pasword" you can avoid this configuration in the config file +# +FROM scratch + +COPY --from=builder /go/src/github.com/davidnewhall/unifi-poller/unifi-poller.linux /unifi-poller +COPY --from=builder /go/src/github.com/davidnewhall/unifi-poller/examples/up.conf.example /etc/unifi-poller/up.conf + +VOLUME [ "/etc/unifi-poller"] + +ENTRYPOINT [ "/unifi-poller" ] diff --git a/integrations/inputunifi/Makefile b/integrations/inputunifi/Makefile index 1b8f2f59..5669ea21 100644 --- a/integrations/inputunifi/Makefile +++ b/integrations/inputunifi/Makefile @@ -9,6 +9,7 @@ OSX_PKG_PREFIX=com.github.davidnewhall GOLANGCI_LINT_ARGS=--enable-all -D gochecknoglobals PACKAGE:=./cmd/$(BINARY) LIBRARY:=./pkg/$(BINARY) +DOCKER_REPO=golift ITERATION:=$(shell git rev-list --count HEAD||echo 0) ifeq ($(VERSION),) @@ -122,6 +123,9 @@ $(BINARY)-$(VERSION).pkg: check_fpm package_build_osx --description "$(DESC)" \ --chdir package_build_osx +docker: + docker build -t $(DOCKER_REPO)/$(BINARY) . + # OSX packages use /usr/local because Apple doesn't allow writing many other places. package_build_osx: readme man macos # Building package environment for macOS.