allow us to update user home files as time goes on, but won't overwrite files the user has modified.
2.5 KiB
2.5 KiB
Make sure sysbox and docker are installed and run
docker run -p 127.0.0.1:8466:8466 \
--volume ./spiri-sdk-home:/home/spiri:rw \
--runtime=sysbox-runc -it \
git.spirirobotics.com/spiri/spiri-sdk-desktop:master
Navigate to http://localhost:8466, and log in using the username spiri
and the password spiri-friend
For a complete example try this:
version: "3.3"
#Due to a bug in moby's libnetwork DNS resolver single domains like `gazebo`
# don't get resolved properly, even when we have ndots set to 0 like we're
# supposed to. So we need to reference `gazebo.compose-name_network-name`.
# We explicitly set the name variable so that changing folders doesn't break
# the install.
name: "spiri-sdk"
volumes:
user-home:
dockeradmin:
docker-cache:
services:
drone-stack:
#The drone runs docker, so ultimately our drone stack is just a docker-in-docker container.
## This can make it difficult to deal with GPU acceleration, but remember that ROS *is*
## distributed. You don't need to run your GPU-accelerated rosnode on the drone-stack,
## just make sure you can contact the ROS_MASTER.
runtime: sysbox-runc
image: docker:24-dind
command: dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 --tls=false
healthcheck:
test: docker info
start_interval: 1s
ports:
- "127.0.0.1:5760:5760" #Ground control
- "127.0.0.1:4560:4560" # Simulation
- "127.0.0.1:14560:14560" # Simulation
- "127.0.0.1:11311:11311" #Ros master
volumes:
- docker-cache:/var/lib/docker/
#Madness, setting a low ulimit here fixes memory leaks
# https://answers.ros.org/question/336963/rosout-high-memory-usage/
ulimits:
nofile:
soft: 1024
hard: 524288
gazebo:
image: git.spirirobotics.com/spiri/gazebo-classic:main
# command: gzserver --verbose /usr/share/gazebo-11/worlds/empty.world
command: gzserver --verbose /usr/share/gazebo-11/worlds/citadel_hill_world.world
ports:
- "127.0.0.1:11345:11345" #Ros master
desktop:
image: git.spirirobotics.com/spiri/spiri-sdk-desktop:master
runtime: sysbox-runc
tty: true
environment:
DOCKER_HOST: tcp://drone-stack:2375
ROS_MASTER_URI: http://drone-stack:11311
GAZEBO_MASTER_URI: http://gazebo.spiri-sdk_default:11345
ports:
- 127.0.0.1:8466:8466
volumes:
- ./spiri-sdk-home:/home/spiri
depends_on:
drone-stack:
condition: service_healthy