diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..e660fd9 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +bin/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..def3ac9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM golang AS build + +ARG GIT_DESC=undefined + +WORKDIR /go/src/github.com/Snawoot/opera-proxy +COPY . . +RUN CGO_ENABLED=0 go build -a -tags netgo -ldflags '-s -w -extldflags "-static" -X main.version='"$GIT_DESC" +ADD https://curl.haxx.se/ca/cacert.pem /certs.crt +RUN chmod 0644 /certs.crt + +FROM scratch AS arrange +COPY --from=build /go/src/github.com/Snawoot/opera-proxy/opera-proxy / +COPY --from=build /certs.crt /etc/ssl/certs/ca-certificates.crt + +FROM scratch +COPY --from=arrange / / +USER 9999:9999 +EXPOSE 8080/tcp +ENTRYPOINT ["/opera-proxy", "-bind-address", "0.0.0.0:18080"] diff --git a/hooks/build b/hooks/build new file mode 100644 index 0000000..93d14de --- /dev/null +++ b/hooks/build @@ -0,0 +1,2 @@ +#!/bin/bash +docker build --build-arg GIT_DESC="$(git describe)" -f "$DOCKERFILE_PATH" -t "$IMAGE_NAME" .