Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
b607f57
added dockerfiles and added -y in setup files
Sep 30, 2025
1ae76c8
added dockerfiles and added -y in setup files
Oct 1, 2025
d62e855
added Dockerfile documentation and added a docker-compose for easier …
Oct 1, 2025
a7496a6
forgot to change the header in the Dockerfile to the new usage process
Oct 1, 2025
6551307
added setup_everything_common script to dockerfile
Oct 1, 2025
b204a7d
adjusted the description for yes | command
Oct 1, 2025
5b53a7e
added yaml for docker
Oct 1, 2025
0e683f9
readded common ros packages
Oct 1, 2025
2d97c7a
bro
Oct 1, 2025
8a1f218
bro #2
Oct 1, 2025
24f034e
i'm stupid, I added it, then ignored it, then forget to delete it
Oct 1, 2025
da3c5c2
removed env cause it was breaking things
Oct 1, 2025
9a1d11d
why me
Oct 1, 2025
0c863ca
added submodules
Oct 1, 2025
c4d9fde
changed docker compose run
Oct 1, 2025
5f7eacd
added dockerfiles and added -y in setup files
Oct 1, 2025
23be912
added setup_everything_common script to dockerfile
Oct 1, 2025
46162b7
adjusted the description for yes | command
Oct 1, 2025
6164c39
fixed dockerfile, minimalized workflow, minimalized docs, added instr…
aaronrhim Nov 13, 2025
06426c6
updated again oops
aaronrhim Nov 24, 2025
cb23f05
readded common ros packages
Oct 1, 2025
8b1c805
added submodules
Oct 1, 2025
c5ae53f
changed docker compose run
Oct 1, 2025
26f7dee
resolved merge conflicts again
aaronrhim Nov 24, 2025
072a7fc
Merge branch 'rv/on_board' into docker
aaronrhim Nov 24, 2025
afe587e
yup
aaronrhim Nov 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 28 additions & 17 deletions .github/workflows/docker-build.yaml
Original file line number Diff line number Diff line change
@@ -1,37 +1,48 @@
name: Run setup and colcon build for Docker
on: push
name: Run setup for Docker

on:
push:
branches: [main]
pull_request:
branches: [main]
types: [opened, synchronize, reopened]

jobs:
docker_setup_and_build_check:
build-test-push:
name: Build, Test and Push Docker Image
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v4
with: # added this, might fix a bug that's taken over 3 hours to find
- name: Checkout source code
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: build
run: |
docker compose build --no-cache
- name: start and exec into container
run: | # ensure a clean build tree inside container, then build
docker compose run --rm -T rover bash -lc 'rm -rf build install log && colcon build --symlink-install --packages-up-to arm_control'
- name: Cleanup
if: always()
run: |
docker compose down --remove-orphans || true

- name: Build image
uses: docker/build-push-action@v5
with:
context: .
load: true
tags: myapp:test

- name: Notify Discord (success)
if: ${{ success() }}
uses: appleboy/[email protected]
with:
webhook_id: ${{ secrets.DISCORD_BOT_WEBHOOK_ID }}
webhook_token: ${{ secrets.DISCORD_BOT_WEBHOOK_TOKEN }}
message: |
Yipee!!! I'lll let you merge now ${{ github.actor }}. _good j*b_! || ${{ github.repository }} on `${{ github.ref_name }}`
Yipee!!! I'lll let you merge now ${{ github.actor }}. _good j*b_! ||
${{ github.repository }} on `${{ github.ref_name }}`
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}

- name: Notify Discord (failure)
if: ${{ failure() }}
uses: appleboy/[email protected]
with:
webhook_id: ${{ secrets.DISCORD_BOT_WEBHOOK_ID }}
webhook_token: ${{ secrets.DISCORD_BOT_WEBHOOK_TOKEN }}
message: |
poo you ${{ github.actor }}! Run it through chat rq to fix your bugs ||
poo you ${{ github.actor }}! Run it through chat rq to fix your bugs ||
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
85 changes: 0 additions & 85 deletions Docker.md

This file was deleted.

21 changes: 21 additions & 0 deletions DockerInstallation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Docker setup for RoverFlake2

Minimal installation setup for Docker. Ask ChatGPT first if you are having trouble (do NOT run random commands unless you know exactly what they do). If you still can't figure it out, ask Aaron. Be sure to review the docs if you require any extra commands outside of what is listed.

### 1. Prerequisites
- Install Docker and Docker Compose on your machine
> docker --version
> docker compose version

### 2.1 Build the image (AMD64 Architecture):
> docker build -t rover2025:rover
### 2.2 Build the image (ARM64 Architecture):
> docker builx build --platform linux/amd64,linux/arm64 -t roverflake2:dev --push .

### 3. Start a detached container
> docker compose --compatibility up rover -d
(the compatibility flag might not work on Windows and if so, just remove it)

### 4. Go into an existing container
> docker compose exec rover bash
(don't forget to change the service <rover> if you are using a different compose container)
20 changes: 20 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,23 @@ services:
environment:
- ROVERFLAKE_ROOT=/RoverFlake2
network_mode: host
rover_x11: # Do not use if you don't have a nvidia GPU with supported cuda cores
build:
context: .
dockerfile: Dockerfile
image: roverflake2:dev
container_name: rover_dev
working_dir: /RoverFlake2
tty: true
stdin_open: true
volumes: # Purpose: docker env watches for changes in repo and updates
# preferred method is to specify a directory
# e.g. '- ./node_practice:/RoverFlake2/node_practice'
# Bind-mount the whole repo into the container
- ./:/RoverFlake2
- /tmp/.X11-unix:/tmp/.X11-unix # GUI compatibility
environment:
- DISPLAY=${DISPLAY}
- ROVERFLAKE_ROOT=/RoverFlake2
- MUJOCO_GL=glfw # or egl (headless GUI)
network_mode: host