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.