spiri-sdk/Dockerfile

39 lines
1.9 KiB
Docker

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