FROM golang:1.25.3-alpine@sha256:aee43c3ccbf24fdffb7295693b6e33b21e01baec1b2a55acc351fde345e9ec34 AS builder ENV CGO_ENABLED=0 \ GOPATH=/go \ NODE_ENV=production COPY . /go/src/github.com/Luzifer/ots WORKDIR /go/src/github.com/Luzifer/ots RUN set -ex \ && apk --no-cache add \ curl \ git \ make \ nodejs-current \ npm \ tar \ unzip \ && make frontend_prod generate-apidocs \ && go install \ -ldflags "-X main.version=$(git describe --tags --always || echo dev)" \ -mod=readonly FROM alpine:3.22@sha256:4b7ce07002c69e8f3d704a9c5d6fd3053be500b7f1c69fc0d80990c2ad8dd412 LABEL org.opencontainers.image.authors='Knut Ahlers ' \ org.opencontainers.image.version='1.19.1' \ org.opencontainers.image.url='https://github.com/Luzifer/ots/pkgs/container/ots' \ org.opencontainers.image.documentation='https://github.com/Luzifer/ots/wiki' \ org.opencontainers.image.source='https://github.com/Luzifer/ots' \ org.opencontainers.image.licenses='Apache-2.0' RUN set -ex \ && apk --no-cache add \ ca-certificates COPY --from=builder /go/bin/ots /usr/local/bin/ots EXPOSE 3000 USER 1000:1000 ENTRYPOINT ["/usr/local/bin/ots"] CMD ["--"] # vim: set ft=Dockerfile: