FROM %%BUILDER-BASE%% as builder LABEL maintainer="Naman Bishnoi " LABEL source="%%REPO%%" RUN USER=root cargo new --bin %%PROJECT-NAME%% WORKDIR /%%PROJECT-NAME%% COPY ./Cargo.lock ./Cargo.lock COPY ./Cargo.toml ./Cargo.toml RUN cargo build --release RUN rm src/*.rs ADD . ./ RUN rm ./target/x86_64-unknown-linux-musl/release/deps/%%PROJECT-NAME%%* RUN cargo build --release FROM %%RUNNER-BASE%% ARG APP=/usr/src/app EXPOSE 8000 ENV TZ=Etc/UTC \ APP_USER=%%APP-USER%% RUN addgroup -S $APP_USER \ && adduser -S -g $APP_USER $APP_USER RUN apk update \ && apk add --no-cache ca-certificates tzdata \ %%EXTRA-DEPENDENCIES-ALPINE%% \ && rm -rf /var/cache/apk/* COPY --from=builder /home/rust/src/%%PROJECT-NAME%%/target/x86_64-unknown-linux-musl/release/%%PROJECT-NAME%% ${APP}/%%PROJECT-NAME%% RUN chown -R $APP_USER:$APP_USER ${APP} USER $APP_USER WORKDIR ${APP} CMD ["./%%PROJECT-NAME%%"]