ots/Dockerfile
Knut Ahlers a098395daf
Build Docker image in production mode
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-09-30 23:18:34 +02:00

44 lines
793 B
Docker

FROM luzifer/archlinux 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 \
&& pacman --noconfirm -Syy \
curl \
git \
go \
make \
nodejs-lts-hydrogen \
npm \
tar \
unzip \
&& make download_libs generate-inner generate-apidocs \
&& go install \
-ldflags "-X main.version=$(git describe --tags --always || echo dev)" \
-mod=readonly
FROM alpine:latest
LABEL maintainer "Knut Ahlers <knut@ahlers.me>"
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: