FROM rust:1.79.0-slim-bookworm AS base SHELL ["/bin/bash", "-o", "pipefail", "-c"] # Add some helper scripts ENV PATH="/tools:${PATH}" ENV LANG="C.UTF-8" RUN DEBIAN_FRONTEND=noninteractive apt-get update \ && apt-get -y dist-upgrade \ && apt-get install -y \ build-essential \ git \ less \ libpq-dev \ make \ pkg-config \ procps \ && apt-get autoremove --purge \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ && rm -f /var/lib/dpkg/status-old RUN useradd --create-home --shell /bin/bash appuser WORKDIR /workspace USER appuser COPY --chown=appuser:appuser .bash_history /home/appuser/.bash_history RUN cargo install \ cargo-edit \ cargo-fuzz \ cargo-outdated \ cargo-watch \ && rustup component add rustfmt \ && rustup install nightly ENTRYPOINT ["cargo", "watch"]