FROM px4io/px4-dev-simulation-focal COPY --link --from=git.spirirobotics.com/spiri/gazebo-resources:latest /models /usr/share/gazebo-11/models/ COPY --link --from=git.spirirobotics.com/spiri/gazebo-resources:latest /worlds /usr/share/gazebo-11/worlds/ COPY --link --from=git.spirirobotics.com/spiri/gazebo-resources:latest /plugins /usr/lib/x86_64-linux-gnu/gazebo-11/plugins RUN apt-get update && apt-get upgrade --yes #Install base packages for distrobox # RUN apt-get install --yes bc bzip2 chpasswd curl diff find findmnt gpg hostname less lsof man mount passwd pigz pinentry ping ps rsync script ssh sudo time tree umount unzip useradd wc wget xauth zip WORKDIR /opt/spiri-sdk RUN git clone --depth 1 -b v1.15.0-beta1 https://github.com/PX4/PX4-Autopilot.git --recursive WORKDIR /opt/spiri-sdk/PX4-Autopilot/ RUN DONT_RUN=1 make px4_sitl gazebo-classic RUN apt-get install --yes virtualbox-guest-dkms virtualbox-guest-utils spice-vdagent qemu-guest-agent RUN apt-get install --yes docker-compose-v2 firefox #Install our desktop environment last RUN apt-get install --yes --no-install-recommends lubuntu-desktop sddm COPY ./skel/ /opt/spiri-sdk/user-home-skeleton/ RUN cp -r /opt/spiri-sdk/user-home-skeleton/* /etc/skel/ RUN useradd -m -s /bin/bash spiri && echo 'spiri:spiri-friend' | chpasswd RUN usermod -aG sudo,docker spiri RUN userdel user #Install vscodium, a vscode fork with no telemetry and a worse package store # RUN sh -c "curl -fSsL https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | sudo gpg --dearmor | sudo tee /usr/share/keyrings/vscodium.gpg > /dev/null" # RUN "echo deb [signed-by=/usr/share/keyrings/vscodium.gpg] https://download.vscodium.com/debs vscodium main | sudo tee /etc/apt/sources.list.d/vscodium.list" # RUN apt update # RUN apt install codium --yes #This should be the first real user created and the `users` group on most linux distros RUN chown -R 1000:100 /opt/spiri-sdk