diff --git a/lib/modules/manager/docker-compose/__fixtures__/docker-compose.1.yml b/lib/modules/manager/docker-compose/__fixtures__/docker-compose.1.yml
index a2ddd4ca6e322e34ac92478668cd8e6ee60a7ce7..dc671f4dee96e7600fa40ab772e61ef405a318d6 100644
--- a/lib/modules/manager/docker-compose/__fixtures__/docker-compose.1.yml
+++ b/lib/modules/manager/docker-compose/__fixtures__/docker-compose.1.yml
@@ -81,3 +81,6 @@ debugapp:
   build:
     context: .
     dockerfile: Dockerfile.local
+
+build-context:
+    build: ./debugapp
diff --git a/lib/modules/manager/docker-compose/schema.ts b/lib/modules/manager/docker-compose/schema.ts
index 6f521e93389e0ad5270888900f03676a3cc68350..ec11990ccc62b2c998912ab60b8e912925a1ef35 100644
--- a/lib/modules/manager/docker-compose/schema.ts
+++ b/lib/modules/manager/docker-compose/schema.ts
@@ -3,10 +3,13 @@ import { z } from 'zod';
 const DockerComposeService = z.object({
   image: z.string().optional(),
   build: z
-    .object({
-      context: z.string().optional(),
-      dockerfile: z.string().optional(),
-    })
+    .union([
+      z.string(),
+      z.object({
+        context: z.string().optional(),
+        dockerfile: z.string().optional(),
+      }),
+    ])
     .optional(),
 });