# syntax=docker/dockerfile:1.7 FROM golang:1.24-alpine AS build WORKDIR /src RUN apk add --no-cache git COPY go.mod go.sum ./ RUN go mod download COPY cmd ./cmd COPY internal ./internal RUN CGO_ENABLED=0 go build -trimpath -ldflags='-s -w' -o /treatvault ./cmd/treatvault FROM alpine:3.21 RUN apk add --no-cache ca-certificates docker-cli age COPY --from=build /treatvault /usr/local/bin/treatvault EXPOSE 9090 ENTRYPOINT ["/usr/local/bin/treatvault"] CMD ["serve", "--file", "/var/lib/treatvault/secrets.age", "--identity", "/run/secrets/barkstack_treatvault_identity", "--listen", ":9090"]