# ------------
# Build
# ------------
FROM rust:1-bullseye AS BUILD
WORKDIR /app
RUN apt-get update && apt-get install -y musl musl-tools
RUN rustup target add x86_64-unknown-linux-musl
RUN cargo init
COPY Cargo.toml .
COPY Cargo.lock .
RUN cargo build --release --target x86_64-unknown-linux-musl
COPY src/ src/
COPY tests/ tests/
RUN cargo build --release --target x86_64-unknown-linux-musl
# ------------
# Runner
# ------------
FROM alpine:latest AS RUNNER
RUN apk --no-cache add fish git httpie shadow
COPY --from=BUILD /app/target/x86_64-unknown-linux-musl/release/treq /usr/local/bin/treq
RUN chmod +x /usr/local/bin/treq
RUN adduser -D -u 1000 wizard
USER wizard
RUN chsh -s /usr/bin/fish wizard
WORKDIR /home/wizard