From 0882ca73cef16c7f6b2ade099e17336b0f94135d Mon Sep 17 00:00:00 2001 From: krishna dubey Date: Tue, 11 Mar 2025 06:04:41 +0000 Subject: [PATCH 1/3] Add minimal Dockerfile with Python and uv for easy onboarding --- docker/minimal/Dockerfile | 29 +++++++++++++++++++++++++++++ docker/minimal/README.md | 28 ++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 docker/minimal/Dockerfile create mode 100644 docker/minimal/README.md diff --git a/docker/minimal/Dockerfile b/docker/minimal/Dockerfile new file mode 100644 index 00000000..fd7ee863 --- /dev/null +++ b/docker/minimal/Dockerfile @@ -0,0 +1,29 @@ +FROM python:3.12-slim + +# Install system dependencies +RUN apt-get update && apt-get install -y \ + git \ + curl \ + build-essential \ + pkg-config \ + libssl-dev \ + && rm -rf /var/lib/apt/lists/* + +# Install Rust (required for Dora) +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +ENV PATH="/root/.cargo/bin:${PATH}" + +# Install uv +RUN pip install --no-cache-dir uv + +# Install latest Dora +RUN pip install --no-cache-dir dora-rs + +# Create a working directory +WORKDIR /app + +# Set environment variables +ENV PYTHONUNBUFFERED=1 + +# Default command when container starts +CMD ["bash"] diff --git a/docker/minimal/README.md b/docker/minimal/README.md new file mode 100644 index 00000000..7ac55451 --- /dev/null +++ b/docker/minimal/README.md @@ -0,0 +1,28 @@ +# Minimal Dora Docker Environment + +This Dockerfile provides a minimal environment for running Dora applications with Python and uv package manager. + +## What's Included + +- Python 3.12 +- Rust (required for Dora) +- uv package manager +- Latest Dora release + +## Building the Image + +docker build -t dora-minimal + +## Running the Container + +docker run -it --rm -v $(pwd):/app dora-minimal + +## Usage + +Once inside the container, you can: + +- Run Dora commands: `dora --help` +- Use uv for package management: `uv install numpy` +- Develop and test your Dora applications + +This container is designed to provide a consistent environment for Dora development without requiring complex setup on the host machine. From ad50e5b490fb8bca5eafa35de282bbc6ee99a04e Mon Sep 17 00:00:00 2001 From: Krishnadubey1008 <121748506+Krishnadubey1008@users.noreply.github.com> Date: Tue, 11 Mar 2025 15:09:17 +0000 Subject: [PATCH 2/3] Update docker/minimal/Dockerfile I've updated the Dockerfile to use `dora-rs-cli` instead of `dora-rs` as the dora-rs-cli package includes the CLI tools necessary to interact with Dora, while dora-rs might refer to a broader or different set of functionalities. Co-authored-by: Haixuan Xavier Tao --- docker/minimal/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/minimal/Dockerfile b/docker/minimal/Dockerfile index fd7ee863..cba862fe 100644 --- a/docker/minimal/Dockerfile +++ b/docker/minimal/Dockerfile @@ -17,7 +17,7 @@ ENV PATH="/root/.cargo/bin:${PATH}" RUN pip install --no-cache-dir uv # Install latest Dora -RUN pip install --no-cache-dir dora-rs +RUN pip install --no-cache-dir dora-rs-cli # Create a working directory WORKDIR /app From 26200d082ee279ccaff2b2d77202e50dd7cc294a Mon Sep 17 00:00:00 2001 From: haixuantao Date: Thu, 13 Mar 2025 15:12:54 +0100 Subject: [PATCH 3/3] Adding additional basic information --- docker/minimal/Dockerfile | 3 +++ docker/minimal/README.md | 20 ++++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/docker/minimal/Dockerfile b/docker/minimal/Dockerfile index cba862fe..85413e91 100644 --- a/docker/minimal/Dockerfile +++ b/docker/minimal/Dockerfile @@ -7,6 +7,9 @@ RUN apt-get update && apt-get install -y \ build-essential \ pkg-config \ libssl-dev \ + ffmpeg \ + libsm6 \ + libxext6 \ && rm -rf /var/lib/apt/lists/* # Install Rust (required for Dora) diff --git a/docker/minimal/README.md b/docker/minimal/README.md index 7ac55451..9dea1e31 100644 --- a/docker/minimal/README.md +++ b/docker/minimal/README.md @@ -11,11 +11,27 @@ This Dockerfile provides a minimal environment for running Dora applications wit ## Building the Image -docker build -t dora-minimal +```bash +docker build . -t dora-minimal +``` ## Running the Container -docker run -it --rm -v $(pwd):/app dora-minimal +```bash +docker run -it --rm dora-minimal +``` + +## Running not in interactive + +```bash +docker run --rm dora-minimal dora --help +``` + +## Running with privilege as well as USB connection + +```bash +docker run --rm --device=/dev/ttyUSB0 dora-minimal dora --help +``` ## Usage