From e80c9e62708e339fbd0f55591ec632a918fbf15c Mon Sep 17 00:00:00 2001 From: Pepijn Date: Fri, 20 Mar 2026 21:45:32 -0700 Subject: [PATCH] chore(docker): remove docker-compose, use individual build/run commands Replace docker-compose.benchmark.yml with per-image docker build/run instructions. Each benchmark is built and tested independently via --build-arg BENCHMARK= on Dockerfile.benchmark. Co-Authored-By: Claude --- docker/docker-compose.benchmark.yml | 68 ----------------------------- docker/smoke_test_benchmark.sh | 13 +++--- 2 files changed, 7 insertions(+), 74 deletions(-) delete mode 100644 docker/docker-compose.benchmark.yml diff --git a/docker/docker-compose.benchmark.yml b/docker/docker-compose.benchmark.yml deleted file mode 100644 index 510501930..000000000 --- a/docker/docker-compose.benchmark.yml +++ /dev/null @@ -1,68 +0,0 @@ -# Benchmark evaluation services for LeRobot. -# -# Each service builds Dockerfile.benchmark with the matching BENCHMARK arg, -# giving an isolated environment per benchmark suite. -# -# Usage: -# Build all: docker compose -f docker/docker-compose.benchmark.yml build -# Build one: docker compose -f docker/docker-compose.benchmark.yml build libero -# Run smoke tests: docker compose -f docker/docker-compose.benchmark.yml run --rm libero bash docker/smoke_test_benchmark.sh -# Interactive: docker compose -f docker/docker-compose.benchmark.yml run --rm libero - -x-benchmark-base: &benchmark-base - build: - context: . - dockerfile: docker/Dockerfile.benchmark - image: lerobot-benchmark-${BENCHMARK:-libero} - environment: - - MUJOCO_GL=egl - - DEVICE=cuda - deploy: - resources: - reservations: - devices: - - driver: nvidia - count: 1 - capabilities: [gpu] - volumes: - # Mount HuggingFace cache from host so model weights are not re-downloaded each run. - - ${HF_HOME:-~/.cache/huggingface}:/home/user_lerobot/.cache/huggingface - stdin_open: true - tty: true - -services: - libero: - <<: *benchmark-base - image: lerobot-benchmark-libero - build: - context: . - dockerfile: docker/Dockerfile.benchmark - args: - BENCHMARK: libero - - libero_plus: - <<: *benchmark-base - image: lerobot-benchmark-libero-plus - build: - context: . - dockerfile: docker/Dockerfile.benchmark - args: - BENCHMARK: libero_plus - - robomme: - <<: *benchmark-base - image: lerobot-benchmark-robomme - build: - context: . - dockerfile: docker/Dockerfile.benchmark - args: - BENCHMARK: robomme - - robocasa: - <<: *benchmark-base - image: lerobot-benchmark-robocasa - build: - context: . - dockerfile: docker/Dockerfile.benchmark - args: - BENCHMARK: robocasa diff --git a/docker/smoke_test_benchmark.sh b/docker/smoke_test_benchmark.sh index 50ab985f0..9eda3b0df 100755 --- a/docker/smoke_test_benchmark.sh +++ b/docker/smoke_test_benchmark.sh @@ -1,13 +1,14 @@ #!/usr/bin/env bash # Smoke-test a benchmark container: verifies imports and CLI entry-points. # -# Run inside the container (BENCHMARK env var must be set): -# bash docker/smoke_test_benchmark.sh +# Build and run for a specific benchmark: +# docker build --build-arg BENCHMARK=libero -f docker/Dockerfile.benchmark -t lerobot-benchmark-libero . +# docker run --gpus all --rm -e BENCHMARK=libero lerobot-benchmark-libero bash docker/smoke_test_benchmark.sh # -# Or run all benchmarks via docker compose: -# for svc in libero libero_plus robomme robocasa; do -# docker compose -f docker/docker-compose.benchmark.yml run --rm "$svc" \ -# bash docker/smoke_test_benchmark.sh +# Test all benchmarks individually: +# for b in libero libero_plus robomme robocasa; do +# docker build --build-arg BENCHMARK=$b -f docker/Dockerfile.benchmark -t lerobot-benchmark-$b . +# docker run --gpus all --rm -e BENCHMARK=$b lerobot-benchmark-$b bash docker/smoke_test_benchmark.sh # done set -euo pipefail