diff --git a/test/setup/pebble/docker-compose.yml b/test/setup/pebble/docker-compose.yml
index c9f719f3..74fbb703 100644
--- a/test/setup/pebble/docker-compose.yml
+++ b/test/setup/pebble/docker-compose.yml
@@ -1,5 +1,3 @@
-version: "3"
-
 services:
   pebble:
     image: "ghcr.io/letsencrypt/pebble:${PEBBLE_VERSION}"
diff --git a/test/setup/pebble/setup-pebble.sh b/test/setup/pebble/setup-pebble.sh
index c3e54f51..17658fc6 100755
--- a/test/setup/pebble/setup-pebble.sh
+++ b/test/setup/pebble/setup-pebble.sh
@@ -5,7 +5,7 @@ set -e
 setup_pebble() {
     curl --silent --show-error https://raw.githubusercontent.com/letsencrypt/pebble/master/test/certs/pebble.minica.pem > "${GITHUB_WORKSPACE}/pebble.minica.pem"
     cat "${GITHUB_WORKSPACE}/pebble.minica.pem"
-    docker-compose --file "${GITHUB_WORKSPACE}/test/setup/pebble/docker-compose.yml" up --detach
+    docker compose --file "${GITHUB_WORKSPACE}/test/setup/pebble/docker-compose.yml" up --detach
 }
 
 wait_for_pebble() {
@@ -30,4 +30,4 @@ setup_pebble_challtestserv() {
 setup_pebble
 wait_for_pebble
 setup_pebble_challtestserv
-docker-compose --file "${GITHUB_WORKSPACE}/test/setup/pebble/docker-compose.yml" logs
+docker compose --file "${GITHUB_WORKSPACE}/test/setup/pebble/docker-compose.yml" logs
diff --git a/test/setup/setup-boulder.sh b/test/setup/setup-boulder.sh
index f38572ab..0ac9a69f 100755
--- a/test/setup/setup-boulder.sh
+++ b/test/setup/setup-boulder.sh
@@ -28,8 +28,8 @@ setup_boulder() {
     # Modify custom rate limit
     sed --in-place 's/le.wtf,le1.wtf/le1.wtf,le2.wtf,le3.wtf/g' test/rate-limit-policies.yml
   fi
-  docker-compose build --pull
-  docker-compose run -d \
+  docker compose build --pull
+  docker compose run -d \
     --use-aliases \
     --name boulder \
     -e FAKE_DNS=10.77.77.1 \
diff --git a/test/setup/setup-local.sh b/test/setup/setup-local.sh
index a7ccefa4..cc85bdb9 100755
--- a/test/setup/setup-local.sh
+++ b/test/setup/setup-local.sh
@@ -138,13 +138,13 @@ EOF
     if [[ "$ACME_CA" == 'boulder' ]]; then
       # Stop and remove Boulder
       docker stop boulder
-      docker-compose --project-name 'boulder' \
+      docker compose --project-name 'boulder' \
         --file "${GITHUB_WORKSPACE}/go/src/github.com/letsencrypt/boulder/docker-compose.yml" \
         down --volumes
       docker rm boulder
     elif [[ "$ACME_CA" == 'pebble' ]]; then
       # Stop and remove Pebble
-      docker-compose --file "${GITHUB_WORKSPACE}/test/setup/pebble/docker-compose.yml" down
+      docker compose --file "${GITHUB_WORKSPACE}/test/setup/pebble/docker-compose.yml" down
       [[ -f "${GITHUB_WORKSPACE}/pebble.minica.pem" ]] && rm "${GITHUB_WORKSPACE}/pebble.minica.pem"
     fi