| @@ -1,21 +1,28 @@ | |||||
| name: Docker Image CI | |||||
| name: Docker Image CI/CD | |||||
| on: | on: | ||||
| push: | push: | ||||
| branches: [ "main" ] | |||||
| branches: ["main"] | |||||
| paths: | paths: | ||||
| - "docker/**" | - "docker/**" | ||||
| pull_request: | pull_request: | ||||
| branches: [ "main" ] | |||||
| paths: | paths: | ||||
| - "docker/**" | - "docker/**" | ||||
| jobs: | jobs: | ||||
| build: | build: | ||||
| runs-on: ubuntu-latest | runs-on: ubuntu-latest | ||||
| steps: | steps: | ||||
| - uses: actions/checkout@v4 | |||||
| - name: Build the Docker image | |||||
| run: docker build docker/minimal --tag dora-minimal:$(date +%s) | |||||
| - uses: actions/checkout@v4 | |||||
| - name: "Login to GitHub Container Registry" | |||||
| uses: docker/login-action@v1 | |||||
| with: | |||||
| registry: ghcr.io | |||||
| username: ${{github.actor}} | |||||
| password: ${{secrets.GITHUB_TOKEN}} | |||||
| - name: Build the Docker image | |||||
| run: | | |||||
| docker build docker/slim --tag ghcr.io/dora-rs/dora-slim:latest | |||||
| docker push ghcr.io/dora-rs/dora-slim:latest | |||||
| @@ -1,44 +0,0 @@ | |||||
| # 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 | |||||
| ```bash | |||||
| docker build . -t dora-minimal | |||||
| ``` | |||||
| ## Running the Container | |||||
| ```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 | |||||
| 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. | |||||
| @@ -0,0 +1,51 @@ | |||||
| # slim Dora Docker Environment | |||||
| This Dockerfile provides a slim 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 | |||||
| ```bash | |||||
| docker build . -t dora-slim | |||||
| ``` | |||||
| ## Running the Container | |||||
| ```bash | |||||
| docker run -it --rm --device=/dev/video0 dora-slim | |||||
| ``` | |||||
| ## Running not in interactive | |||||
| ```bash | |||||
| docker run --rm dora-slim dora --help | |||||
| ``` | |||||
| ## Running with privilege as well as USB connection | |||||
| ```bash | |||||
| docker run --rm --device=/dev/video0 dora-slim dora --help | |||||
| ``` | |||||
| ## Usage | |||||
| Once inside the container, you can: | |||||
| ```bash | |||||
| ## Create a virtual environment | |||||
| uv venv --seed -p 3.11 | |||||
| ## Install nodes dependencies of a remote graph | |||||
| dora build https://raw.githubusercontent.com/dora-rs/dora/refs/heads/main/examples/object-detection/yolo.yml --uv | |||||
| ## Run yolo graph | |||||
| dora run yolo.yml --uv | |||||
| ``` | |||||
| This container is designed to provide a consistent environment for Dora development without requiring complex setup on the host machine. | |||||