about summary refs log tree commit diff
path: root/tools/govanity/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'tools/govanity/Dockerfile')
-rw-r--r--tools/govanity/Dockerfile30
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/govanity/Dockerfile b/tools/govanity/Dockerfile
new file mode 100644
index 0000000..20df29f
--- /dev/null
+++ b/tools/govanity/Dockerfile
@@ -0,0 +1,30 @@
+FROM golang:1.16 AS builder
+
+ENV USER=app
+RUN adduser \
+    --disabled-password \
+    --gecos "" \
+    --home "/src" \
+    --shell "/sbin/nologin" \
+    --uid "10001" \
+    "${USER}"
+
+WORKDIR /src
+
+ADD go.mod /src
+ADD go.sum /src
+RUN go mod download
+
+ADD . /src
+
+RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -a -installsuffix cgo -ldflags '-extldflags "-static"' -o app .
+
+FROM scratch
+COPY --from=builder /src/app /vanity
+COPY --from=builder /src/vanity.yaml /vanity.yaml
+COPY --from=builder /etc/passwd /etc/passwd
+COPY --from=builder /etc/group /etc/group
+
+USER app:app
+
+ENTRYPOINT ["/vanity"]