2024-10-25 18:03:15 -04:00
|
|
|
FROM golang:1-alpine AS builder
|
2019-08-03 14:22:40 -04:00
|
|
|
|
2021-09-26 08:49:18 -04:00
|
|
|
ENV CGO_ENABLED=0 \
|
2023-09-30 13:59:09 -04:00
|
|
|
GOPATH=/go \
|
|
|
|
NODE_ENV=production
|
2019-08-03 14:22:40 -04:00
|
|
|
|
2020-01-24 10:17:09 -05:00
|
|
|
COPY . /go/src/github.com/Luzifer/ots
|
2019-08-03 14:22:40 -04:00
|
|
|
WORKDIR /go/src/github.com/Luzifer/ots
|
|
|
|
|
|
|
|
RUN set -ex \
|
2024-10-25 18:11:31 -04:00
|
|
|
&& apk --no-cache add \
|
2021-09-26 08:49:18 -04:00
|
|
|
curl \
|
|
|
|
git \
|
|
|
|
make \
|
2024-10-25 18:03:15 -04:00
|
|
|
nodejs-lts \
|
2021-09-26 08:49:18 -04:00
|
|
|
npm \
|
|
|
|
tar \
|
|
|
|
unzip \
|
2023-06-10 08:50:21 -04:00
|
|
|
&& make download_libs generate-inner generate-apidocs \
|
2020-01-24 10:17:09 -05:00
|
|
|
&& go install \
|
|
|
|
-ldflags "-X main.version=$(git describe --tags --always || echo dev)" \
|
|
|
|
-mod=readonly
|
2019-08-03 14:22:40 -04:00
|
|
|
|
2021-09-26 08:49:18 -04:00
|
|
|
|
2019-08-03 14:22:40 -04:00
|
|
|
FROM scratch
|
|
|
|
|
2023-12-15 12:10:14 -05:00
|
|
|
LABEL org.opencontainers.image.authors='Knut Ahlers <knut@ahlers.me>' \
|
2024-12-12 04:33:02 -05:00
|
|
|
org.opencontainers.image.version='1.15.1' \
|
2024-03-02 05:09:37 -05:00
|
|
|
org.opencontainers.image.url='https://github.com/Luzifer/ots/pkgs/container/ots' \
|
2023-12-15 12:10:14 -05:00
|
|
|
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'
|
2019-08-03 14:22:40 -04:00
|
|
|
|
|
|
|
COPY --from=builder /go/bin/ots /usr/local/bin/ots
|
|
|
|
|
|
|
|
EXPOSE 3000
|
|
|
|
|
2023-06-11 09:27:59 -04:00
|
|
|
USER 1000:1000
|
|
|
|
|
2019-08-03 14:22:40 -04:00
|
|
|
ENTRYPOINT ["/usr/local/bin/ots"]
|
|
|
|
CMD ["--"]
|
|
|
|
|
|
|
|
# vim: set ft=Dockerfile:
|