summaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorvlnst <[email protected]>2024-11-26 02:32:05 +0300
committervlnst <[email protected]>2024-11-26 14:44:53 +0300
commit86203ebb7b37e8f14f8fbed31710d07f37d2b473 (patch)
tree3375b108f4e9c4580dbc73b8f05e2549025ac261 /Dockerfile
parentf692d1eb2d99e9a5c8030b196729a9fe896bb328 (diff)
downloadskunky-art-86203ebb7b37e8f14f8fbed31710d07f37d2b473.tar.gz
skunky-art-86203ebb7b37e8f14f8fbed31710d07f37d2b473.tar.bz2
skunky-art-86203ebb7b37e8f14f8fbed31710d07f37d2b473.zip
Add Docker
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile23
1 files changed, 23 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..fdc1919
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,23 @@
+ARG GO_VERSION=1.18
+
+FROM --platform=$BUILDPLATFORM golang:${GO_VERSION} AS build
+ARG TARGETOS
+ARG TARGETARCH
+
+WORKDIR /build
+COPY . .
+RUN CGO_ENABLED=0 GOARCH=${TARGETARCH} GOOS=${TARGETOS} go build -ldflags "-s -w -extldflags '-static'" && \
+ echo "skunkyart:x:10000:10000:SkunkyArt user:/:/sbin/nologin" > /etc/minimal-passwd && \
+ echo "skunkyart:x:10000:" > /etc/minimal-group
+
+FROM scratch
+
+COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
+COPY --from=build /build/static /static
+COPY --from=build /build/skunkyart /skunkyart
+COPY --from=build /etc/minimal-passwd /etc/passwd
+COPY --from=build /etc/minimal-group /etc/group
+
+USER skunkyart
+
+ENTRYPOINT ["/skunkyart"]