Main entry point for the MOLISENS/MOSEP software stack. Uses Docker Compose and just to manage Docker-based ROS 2 development containers across multiple platforms (x86_64, aarch64, macOS ARM64).
Docker:
sudo apt install docker.io
sudo groupadd docker
sudo usermod -aG docker ${USER}just (command runner):
Can be instlled via Python:
uv tool install rust-just
# or
pipx install rust-justor check the install guide.
- Set the installation directory (add to your
.bashrcor.zshrc):
export MOSEP_DIR="<WHEREVER_YOU_WANT>/MOSEP"For example export MOSEP_DIR="/home/$USER/projects/MOSEP"
- Clone and run the install script:
mkdir -p $MOSEP_DIR
git clone https://github.com/MOLISENS-MOSEP/development.ade.git $MOSEP_DIR/ade
$MOSEP_DIR/ade/install_ade.shIf you get permission denied, run chmod +x $MOSEP_DIR/ade/install_ade.sh first.
-
Restart your terminal.
-
Login to the GitHub Container Registry with a personal access token:
export CR_PAT=YOUR_TOKEN
echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdinEnter the development container (downloads the Docker image on first run):
mosep_enterStop the container:
mosep_stopYou can also use just directly from the ade/ directory:
cd $MOSEP_DIR/ade
just enter
just stop
just update| Alias | just recipe | Description |
|---|---|---|
mosep_enter |
just enter |
Enter the container (starts if needed) |
mosep_stop |
just stop |
Stop the container |
mosep_update |
just update |
Pull latest image and restart |
| — | just logs |
Show container logs |
| — | just status |
Show container status |
ade/
├── install_ade.sh # Installation script
├── extensions.sh # Shell env setup and aliases
├── compose.yaml # Docker Compose base config (x86_64)
├── compose.aarch64.yaml # Docker Compose overrides (ARM64 devices)
├── justfile # Task runner recipes
└── MOSEP/
├── bagfiles/ # Recorded rosbag data
└── mosep_ws/ # ROS 2 workspace (cloned during install)
The MOLISENS/MOSEP project is split across multiple repositories. The install_ade.sh script clones mosep_ws, which in turn uses vcs import to pull all sub-repos into src/. Docker images are built separately from development.docker.
$MOSEP_DIR/
├── ade/ ← development.ade (this repo)
│ ├── install_ade.sh
│ ├── extensions.sh
│ ├── compose.yaml
│ ├── compose.aarch64.yaml
│ ├── justfile
│ └── MOSEP/
│ ├── bagfiles/ ← recorded rosbag data
│ └── mosep_ws/ ← molisens_ws repo
│ ├── config/ workspace config & aliases
│ ├── repos/
│ │ └── molisens.repos vcstool manifest
│ └── src/ cloned via vcs import
│ ├── data/
│ │ ├── mapping_sensor_kit/ ← data.mapping_sensor_kit
│ │ ├── met_sensor_kit/ ← data.met_sensor_kit
│ │ └── convert_lidar_packets/ ← data.convert_lidar_packets
│ ├── drivers/
│ │ ├── lufft_weather_station/ ← drivers.lufft_weather_station
│ │ ├── ouster-ros/ (third-party)
│ │ ├── ublox/ (third-party)
│ │ ├── xsens_ros_mti_driver/ (third-party)
│ │ └── smartmicro_ros2_radars/(third-party)
│ └── tools/
│ ├── data_recording/ ← tools.data_recording
│ ├── met_monitoring/ ← tools.met_monitoring
│ └── ntrip_client/ (third-party)
└── docker/ ← development.docker repo
├── build.sh
├── x86_64/ Dockerfiles for x86_64
├── aarch64/ Dockerfiles for ARM64
└── Ouster_ROS1/ ROS 1↔2 bridge for Ouster
- Install Docker Desktop and just
- Follow the standard installation steps above
- Run
mosep_enter - Follow the instructions in
MOSEP/mosep_ws/src/drivers/smartmicro_ros2_radars/Readme.mdunder the ARMv8 Support section - Run
mosep_makeinside the container