20 lines
668 B
Text
20 lines
668 B
Text
# stage 0
|
|
FROM golang:latest as builder
|
|
WORKDIR /go/src/github.com/PierreZ/goStatic
|
|
COPY . .
|
|
RUN mkdir ./bin && \
|
|
apt-get update && apt-get install -y upx && \
|
|
CGO_ENABLED=0 GOARCH=arm GOARM=7 GOOS=linux go build -ldflags="-s" -tags netgo -installsuffix netgo -o ./bin/goStatic && \
|
|
mkdir ./bin/etc && \
|
|
ID=$(shuf -i 100-9999 -n 1) && \
|
|
upx -9 ./bin/goStatic && \
|
|
echo $ID && \
|
|
echo "appuser:x:$ID:$ID::/sbin/nologin:/bin/false" > ./bin/etc/passwd && \
|
|
echo "appgroup:x:$ID:appuser" > ./bin/etc/group
|
|
|
|
# stage 1
|
|
FROM scratch
|
|
WORKDIR /
|
|
COPY --from=builder /go/src/github.com/PierreZ/goStatic/bin/ .
|
|
USER appuser
|
|
ENTRYPOINT ["/goStatic"]
|