CI / Formatação e clippy (push) Successful in 20s
CI / Auditoria de dependências (push) Successful in 9s
CI / Compila o app desktop (Linux) (push) Successful in 1m55s
Release / Cria a release (push) Successful in 5s
CI / Testes (Linux) (push) Successful in 4m25s
Release / CLI (linux-aarch64) (push) Successful in 2m18s
Release / CLI (linux-x86_64) (push) Successful in 2m51s
Release / App desktop (linux-aarch64) (push) Successful in 9m19s
Release / App desktop (linux-x86_64) (push) Failing after 11m11s
Release / App desktop (windows) (push) Successful in 10m27s
Release / Monta o latest.json (push) Skipped
26 lines
1.1 KiB
Docker
26 lines
1.1 KiB
Docker
# syntax=docker/dockerfile:1
|
|
# Guará CLI image. Intended for Linux hosts, headless servers and forensic image files.
|
|
# The graphical interface is not served from the container (see docs/docker.md).
|
|
|
|
FROM rust:1-slim-bookworm AS build
|
|
WORKDIR /src
|
|
# The CLI embeds the web interface at compile time (include_str!), so it needs apps/gui/ui.
|
|
COPY Cargo.toml Cargo.lock ./
|
|
COPY crates crates
|
|
COPY apps/gui/ui apps/gui/ui
|
|
RUN cargo build --release --locked -p guara-cli
|
|
|
|
FROM debian:bookworm-slim
|
|
# smartmontools gives `guara health` access to SMART data.
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends smartmontools ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
COPY --from=build /src/target/release/guara /usr/local/bin/guara
|
|
LABEL org.opencontainers.image.title="Guará" \
|
|
org.opencontainers.image.description="File recovery for hard drives, SSDs and USB sticks (CLI)" \
|
|
org.opencontainers.image.source="https://git.lucasrguerra.dev.br/lucasrguerra/guara" \
|
|
org.opencontainers.image.licenses="MIT OR Apache-2.0"
|
|
WORKDIR /data
|
|
ENTRYPOINT ["guara"]
|
|
CMD ["--help"]
|