Custom Deployment#
Use the published component images to compose a deployment for your own task. Start from the Planning Simulation Compose file and the shared deployment base rather than assembling a complete stack from scratch. The component catalog lists image targets and supported platforms.
Base + Overlay Pattern#
Create deployments/<your-deployment>/ with a Compose file, complete
config.env, and a deployment.json manifest. Then add it to the root
openadkit.json inventory. Base-backed deployments include
deployments/base/docker-compose.yaml and declare the shared assets:
{
"schemaVersion": 1,
"name": "your-deployment",
"description": "Describe the deployment",
"shared": ["base"],
"compose": {
"files": ["docker-compose.yaml"],
"gpuFiles": [],
"profiles": [],
"services": ["map", "planning", "visualizer"],
"resetServices": [],
"waitTimeout": 300
},
"requirements": {
"architectures": ["amd64", "arm64"],
"rosDistros": ["humble", "jazzy"],
"gpu": "none"
},
"data": []
}
Without an inventory entry, openadkit run your-deployment fails with
unknown deployment. Direct Compose remains available. The base's
runtime.env is loaded inside containers and should contain only ROS/DDS
runtime values. See Deployments for the operator model.
Core Patterns#
services:
planning:
image: ghcr.io/autowarefoundation/openadkit:planning-control
network_mode: host
ipc: host
environment:
- RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
- ROS_DOMAIN_ID=1
command: >
ros2 launch autoware_launch tier4_planning_component.launch.xml
component_wise_launch:=true
use_sim_time:=true
vehicle_model:=sample_vehicle
visualizer:
image: ghcr.io/autowarefoundation/openadkit:visualizer
network_mode: host
ipc: host
environment:
- RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
- ROS_DOMAIN_ID=1
- REMOTE_PASSWORD=openadkit
- USE_SIM_TIME=true
Keep these invariants:
- All services use the same
RMW_IMPLEMENTATIONandROS_DOMAIN_ID. - Launch files are not always
tier4_<component>_component.launch.xml. Match the command used in the base or deployment compose, for example:- map / planning / system / control / simulator:
tier4_*_component.launch.xmlunderautoware_launch - vehicle:
tier4_vehicle_launch vehicle.launch.xml - API:
tier4_autoware_api_component.launch.xml - CARLA bridge:
autoware_carla_interface.launch.xml
- map / planning / system / control / simulator:
- Do not override the visualizer command; its entrypoint starts noVNC and RViz2.
- Add map, vehicle, system, simulator, and API services as required by the task.
- Use
sensing-perception-cudaonly on amd64 hosts with NVIDIA Container Toolkit (Logging Simulation GPU overlay and CARLA default). - Prefer loopback-bound noVNC and a strong
REMOTE_PASSWORD(source:config.local.env). Do not expose the visualizer on untrusted networks without TLS and a non-default password.
With host networking, open the visualizer at
https://localhost:6080/vnc.html and accept the self-signed certificate.
Operate#
Commands on this page are shown as installed by the release installer. From a
source checkout, prefix them with ./ and run them from the repository root.
openadkit validate your-deployment
openadkit run your-deployment
openadkit status your-deployment
openadkit logs your-deployment --follow
openadkit stop your-deployment
See Logging Simulation for a GPU overlay and Zenoh Bridge for distributed ROS 2 domains.