35 lines
655 B
Docker
35 lines
655 B
Docker
FROM golang:1.27-alpine AS builder
|
|
|
|
ARG VERSION=dev # maintained in build.sh
|
|
ARG GIT_SHA=0
|
|
|
|
WORKDIR /build
|
|
|
|
COPY go.mod ./
|
|
|
|
COPY index.html.tmpl main.go ./
|
|
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags "-X main.version=${VERSION}-${GIT_SHA}" -a -installsuffix cgo -o beam .
|
|
|
|
FROM alpine:latest
|
|
|
|
ARG VERSION=0.1.0
|
|
ARG GIT_SHA=dev
|
|
|
|
LABEL org.opencontainers.image.version="${VERSION}"
|
|
LABEL org.opencontainers.image.revision="${GIT_SHA}"
|
|
|
|
RUN apk add mailcap \
|
|
&& adduser -D -u 1000 beam \
|
|
&& mkdir /uploads \
|
|
&& chown beam /uploads
|
|
|
|
USER beam
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /build/index.html.tmpl /build/beam .
|
|
|
|
EXPOSE 8080
|
|
|
|
CMD ["./beam"]
|