FROM rust:1.69.0-slim-buster as builder
ARG DEBIAN_FRONTEND=noninteractive
# ******************************************************************************
# Copy source code into container
# ******************************************************************************
COPY . /opt/
# ******************************************************************************
# Compile tera cli application from source
# ******************************************************************************
RUN set -eux \
&& cd /opt/ \
&& rustup target add x86_64-unknown-linux-musl \
&& cargo build --release --target x86_64-unknown-linux-musl \
&& mv target/x86_64-unknown-linux-musl/release/tera /usr/bin/ \
&& tera --version \
&& rm -rf target \
&& echo ">>> FINISHED COMPILING 'tera-cli'"
# ------------------------------------------------------------------------------
FROM alpine
# ******************************************************************************
# Install compiled tera cli
# ******************************************************************************
COPY --from=builder /usr/bin/tera /usr/bin/tera
USER guest
WORKDIR /opt
ENTRYPOINT ["/usr/bin/tera"]