FROM clojure:lein-alpine as builder
LABEL maintainer "FIXME <FIXME>"

RUN set -eux \
    && apk update \
    && apk --no-cache add \
    git \
    openssh \
    nodejs \
    nodejs-npm \
    musl-dev \
    libstdc++

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY project.clj /usr/src/app/
RUN lein deps

COPY . /usr/src/app
RUN lein pkg-alpine

FROM scratch

LABEL maintainer "FIXME <FIXME>"

COPY --from=builder /usr/src/app/{{name}} /bin/{{name}}

COPY --from=builder /lib/ld-musl-x86_64.so.1 /lib/ld-musl-x86_64.so.1
COPY --from=builder /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.6
COPY --from=builder /usr/lib/libgcc_s.so.1 /usr/lib/libgcc_s.so.1

ENV PATH /bin

ENTRYPOINT ["/bin/{{name}}"]
