Docker image definitions for the MOLISENS/MOSEP development environment. Builds multi-platform images (x86_64, aarch64) using a three-layer approach for efficient caching and rebuilds.
| Layer | Dockerfile | Description |
|---|---|---|
| Base | Dockerfile.1_base |
ROS 2 Humble base with locale, timezone, sudo |
| Dependencies | Dockerfile.2_dependencies |
System libraries, ROS packages, Python tools, build essentials |
| MOSEP | Dockerfile.3_molisens |
Entrypoint and environment setup |
Build all layers for the current platform:
./build.shThe script auto-detects the platform (x86_64 or aarch64) and builds all three layers sequentially. Final images are tagged as:
ghcr.io/molisens-mosep/humble-<arch>:<version>
| Platform | Directory | Image Tag |
|---|---|---|
| x86_64 | x86_64/ |
humble-x86_64:0.5 |
| ARM64 | aarch64/ |
humble-aarch64:0.5 |
The aarch64 configuration includes device passthrough for sensors (serial ports, IMU, GPS).
The Ouster_ROS1/ directory contains a special hybrid image for bridging Ouster LiDAR data between ROS 1 (Noetic) and ROS 2 (Galactic) using ros1_bridge:
cd Ouster_ROS1
./build_ouster_ros1.sh
./run_ouster_ros1.shBridges topics: /lidar_top/points, /tf, /tf_static.
docker/
├── build.sh # Master build script
├── x86_64/ # x86_64 Dockerfiles + entrypoint
│ ├── Dockerfile.1_base
│ ├── Dockerfile.2_dependencies
│ ├── Dockerfile.3_molisens
│ ├── entrypoint
│ └── env.sh
├── aarch64/ # ARM64 Dockerfiles + entrypoint
│ ├── Dockerfile.1_base
│ ├── Dockerfile.2_dependencies
│ ├── Dockerfile.3_molisens
│ ├── entrypoint
│ └── env.sh
└── Ouster_ROS1/ # ROS 1↔ROS 2 bridge for Ouster LiDAR
├── Dockerfile
├── build_ouster_ros1.sh
├── run_ouster_ros1.sh
└── ros1_bridge.yaml