diff --git a/Dockerfile b/Dockerfile index ac3b5e5..57d4458 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,18 @@ -FROM golang:1.9 +FROM golang:1.9-alpine +RUN \ + apk add --no-cache git libcap shadow && \ + addgroup -g 1000 -S freegeoip && \ + adduser -u 1000 -S freegeoip -G freegeoip COPY cmd/freegeoip/public /var/www - ADD . /go/src/github.com/apilayer/freegeoip +WORKDIR /go/src/github.com/apilayer/freegeoip/cmd/freegeoip RUN \ - cd /go/src/github.com/apilayer/freegeoip/cmd/freegeoip && \ - go get -d && go install && \ - apt-get update && apt-get install -y libcap2-bin && \ - setcap cap_net_bind_service=+ep /go/bin/freegeoip && \ - apt-get clean && rm -rf /var/lib/apt/lists/* && \ - useradd -ms /bin/bash freegeoip + go get -d && \ + go install && \ + setcap cap_net_bind_service=+ep /go/bin/freegeoip -USER freegeoip ENTRYPOINT ["/go/bin/freegeoip"] +USER freegeoip EXPOSE 8080 - -# CMD instructions: -# Add "-use-x-forwarded-for" if your server is behind a reverse proxy -# Add "-public", "/var/www" to enable the web front-end -# Add "-internal-server", "8888" to enable the pprof+metrics server -# -# Example: -# CMD ["-use-x-forwarded-for", "-public", "/var/www", "-internal-server", "8888"]