Intro

Local Dev Environment Setup

1. Ubuntu Linux Setup

  • You can run Ubuntu natively or on Windows

Windows

  • Install WSL2
  • Install Ubuntu 24 via the Microsoft Store
  • Do not use Docker Desktop with this WSL installation

2. Install Docker and Docker Compose

  • Remove old/conflicting Docker installs
sudo apt remove docker docker-engine docker.io containerd runc
  • Install prereqs
sudo apt install ca-certificates curl gnupg lsb-release
  • Add Docker’s official GPG key
sudo mkdir -p /etc/apt/keyrings
 
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  • Add Docker repository
echo \
  "deb [arch=$(dpkg --print-architecture) \
  signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • Install Docker Engine + Compose plugin
sudo apt update
 
sudo apt install docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
  • Verify installation
docker --version
docker compose version

4. Install UV

  • Verify UV installation
uv --version

5. Set up SSH keys for pulling code from GT GitHub and commercial GitHub

Install CLIs

Installation of CLIs to setup automatic container environment and pull down source code

UCRT CLI

  • Install latest version of UCRT CLI
uv tool install git+ssh://git@github.gatech.edu/ASDL-Robotics/ucrt-infra.git[latest] --python 3.12
  • Verify installation
ucrt

Qix

Qix is a CLI tool (available as the ucrt qix subcommand) that builds and manages Docker-based software stacks from qixstack.toml specifications.

  • Install qix
git clone git@github.gatech.edu:ASDL-Robotics/qix.git
uv tool install ./qix # if you are developing, include the '-e' flag

Example Usage

  • Clone the project repo (e.g. ucrt-base)

  • Install the qix stack using qixstack.toml

ucrt qix stack install ./ucrt-base 
  • Enter the stack environment
ucrt qix stack enter ucrt-base
ucrt@ucrt-base:~$