← Back to marketplace
// description

A minimal, CIS-hardened Docker base image for ROS 2 Humble — pinned rosdep cache, signed SBOM, and a rootless runtime profile. The foundation layer for every other RosLab package.

RosLab Packages · package

ROS 2 Humble Hardened Base Image

CIS-hardened ROS 2 Humble container with rosdep cache and SBOM.

price
By quote
OSS · Apache-2.0
// Overview

A minimal, CIS-hardened Docker base image for ROS 2 Humble — pinned rosdep cache, signed SBOM, and a rootless runtime profile. The foundation layer for every other RosLab package.

// Specifications
ROS
Humble
Hardening
CIS L1
SBOM
CycloneDX
Size
412 MB
// Deployment models
On-premSelf-hosted SDK
// Suggested use cases
  • Base layer for custom robot images
  • Air-gapped lab deployments
  • Compliance-driven fleets
// Deployment runbook

Use the hardened ROS 2 Humble image as the FROM line of your own robot Docker images.

Prerequisites
  • Docker 24+ on the build host
  • cosign installed if you want to verify the image signature
Install steps
  1. 01
    Pull the image
    docker pull ghcr.io/roslab-ai/ros2-humble-hardened:1.0.0
  2. 02
    Verify the cosign signature (optional)
    cosign verify ghcr.io/roslab-ai/ros2-humble-hardened:1.0.0 \
      --certificate-identity-regexp 'roslab-ai' \
      --certificate-oidc-issuer https://token.actions.githubusercontent.com
  3. 03
    Use it in your Dockerfile
    FROM ghcr.io/roslab-ai/ros2-humble-hardened:1.0.0
    COPY src/ /ros2_ws/src/
    RUN . /opt/ros/humble/setup.sh && colcon build
  4. 04
    Run rootless
    docker run --rm --user 1000:1000 -it ghcr.io/roslab-ai/ros2-humble-hardened:1.0.0 ros2 doctor
Verify

`ros2 doctor` reports all checks pass and the image exposes a CycloneDX SBOM at /sbom.json.

docker run --rm ghcr.io/roslab-ai/ros2-humble-hardened:1.0.0 cat /sbom.json | jq '.metadata.component.name'
Full documentation