mirror of
https://github.com/tobiasehlert/teslamateapi.git
synced 2026-02-27 09:54:18 +08:00
Bumps alpine from 3.20.0 to 3.20.1. --- updated-dependencies: - dependency-name: alpine dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
48 lines
871 B
Docker
48 lines
871 B
Docker
# get golang container
|
|
FROM golang:1.22.4 AS builder
|
|
|
|
# get args
|
|
ARG apiVersion=unknown
|
|
|
|
# create and set workingfolder
|
|
WORKDIR /go/src/
|
|
|
|
# copy go mod files
|
|
COPY go.mod go.sum ./
|
|
|
|
# download go mods
|
|
RUN go mod download
|
|
|
|
# copy all sourcecode
|
|
COPY src/ .
|
|
|
|
# compile the program
|
|
RUN CGO_ENABLED=0 go build -ldflags="-w -s -X 'main.apiVersion=${apiVersion}'" -o app ./...
|
|
|
|
|
|
# get alpine container
|
|
FROM alpine:3.20.1 AS app
|
|
|
|
# create workdir
|
|
WORKDIR /opt/app
|
|
|
|
# add ca-certificates and tzdata
|
|
RUN apk --no-cache add ca-certificates tzdata
|
|
|
|
# create nonroot user and group
|
|
RUN addgroup -S nonroot && \
|
|
adduser -S nonroot -G nonroot && \
|
|
chown -R nonroot:nonroot .
|
|
|
|
# set user to nonroot
|
|
USER nonroot:nonroot
|
|
|
|
# copy binary from builder
|
|
COPY --from=builder --chown=nonroot:nonroot --chmod=544 /go/src/app .
|
|
|
|
# expose port 8080
|
|
EXPOSE 8080
|
|
|
|
# run application
|
|
CMD ["./app"]
|