Skip to main content

Interactive CLI wizard for generating ROS2 Docker environments

Project description

🤖 ros2-dockergen

CI Publish to PyPI PyPI version License: MIT Python 3.10+ Web UI


ROS2 DockerGen Flow


One command. Interactive. Zero fuss.
Generate production-ready Dockerfile + docker-compose.yml + README.md for any ROS2 project — straight from your terminal or on the webpage here


Quick Install

From PyPI (Recommended)

pip install ros2-dockergen

One-line installer (Bash)

curl -fsSL https://raw.githubusercontent.com/ppswaroopa/ros2-dockergen/main/install.sh | bash

Features

  • Full Distribution Support: Choose between Jazzy, Humble, and Kilted ROS2 distros.
  • GPU Acceleration: Automatically configures nvidia/cuda base images and runtime capabilities if CUDA or TensorRT is selected.
  • User Choice: Handles non-root user creation with automatic UID/GID mapping to prevent host volume permission headaches.
  • Comprehensive Tooling: Toggle common ROS2 packages (Nav2, MoveIt2, SLAM Toolbox, MoveIt, Gazebo GZ, etc.) and dev tools (colcon, rosdep, Oh-My-Zsh, SSH, X11).
  • Complete Output: Generates not just a Dockerfile, but also a matching docker-compose.yml and a workspace-specific README.md with instructions.
  • Web Parity: Identical logic engine shared with the Web UI.

Usage

Simply run:

ros2-dockergen

The interactive wizard will walk you through 8 steps to configure your environment.

Command Line Options

ros2-dockergen --help    # Show help
ros2-dockergen --version # Show version

Local CI With act

To reproduce the main GitHub Actions workflow locally, install act and run:

./scripts/run_act.sh

By default this runs the CI jobs one-by-one so local Docker usage stays manageable and each job's output is easy to read.

If you want the original full-workflow act behavior instead, run:

./scripts/run_act.sh full

📁 Project Structure

  • src/ros2_dockergen/: Core Python package (CLI + Logic).
  • src/core.js: Shared engine (ESM) for Web and Node.js.
  • index.html: Stunning browser-based interactive generator.
  • docs/: Visual assets and project documentation.
  • tests/: Parity validation suite (Ensures Python/JS outputs are byte-identical).

🔗 Related Resources


License

Released under the MIT License. Copyright © 2026 Pranava Swaroopa.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ros2_dockergen-1.2.0.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ros2_dockergen-1.2.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file ros2_dockergen-1.2.0.tar.gz.

File metadata

  • Download URL: ros2_dockergen-1.2.0.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ros2_dockergen-1.2.0.tar.gz
Algorithm Hash digest
SHA256 e0f135ed3a25914a6a59bcaa0da5869e384f43fecfc1bd723597ac15962abaee
MD5 84a1bc6641a7f273224a7ff90057e5cf
BLAKE2b-256 0ba40fa958f003dfad643b010dff7d90d970832adf4d698f6e3e058d455d1e38

See more details on using hashes here.

Provenance

The following attestation bundles were made for ros2_dockergen-1.2.0.tar.gz:

Publisher: publish.yml on ppswaroopa/ros2-dockergen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ros2_dockergen-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: ros2_dockergen-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ros2_dockergen-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ad951bc894905a8a13019fa8e0acb2ce01d5636d27d998edb96b8a3aa35b3962
MD5 8a2a961beec9293500f049103c05f7b9
BLAKE2b-256 88da5af777e4e430de1580ae16d359c6b0e284a4e21f9f0ac2c95d29a22d7f5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ros2_dockergen-1.2.0-py3-none-any.whl:

Publisher: publish.yml on ppswaroopa/ros2-dockergen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page