From 0b4058dde0cfc522a453c8b7ef45e31a09ef60da Mon Sep 17 00:00:00 2001
From: Thomas Mauran <78204354+thomas-mauran@users.noreply.github.com>
Date: Wed, 28 May 2025 17:16:08 +0200
Subject: [PATCH] Remove obsolete version field in compose files

---
 docs/content/getting-started/quick-start.md                  | 4 ----
 docs/content/observability/access-logs.md                    | 2 --
 docs/content/providers/docker.md                             | 3 ---
 docs/content/providers/swarm.md                              | 5 -----
 .../observability/logs-and-accesslogs.md                     | 2 --
 .../reference/install-configuration/providers/docker.md      | 3 ---
 .../reference/install-configuration/providers/swarm.md       | 5 -----
 .../routing-configuration/dynamic-configuration-methods.md   | 2 --
 .../routing-configuration/other-providers/docker.md          | 3 ---
 .../reference/routing-configuration/other-providers/swarm.md | 3 ---
 docs/content/routing/providers/docker.md                     | 3 ---
 docs/content/routing/providers/swarm.md                      | 3 ---
 .../user-guides/docker-compose/acme-dns/docker-compose.yml   | 2 --
 .../docker-compose/acme-dns/docker-compose_secrets.yml       | 2 --
 .../user-guides/docker-compose/acme-http/docker-compose.yml  | 2 --
 .../user-guides/docker-compose/acme-tls/docker-compose.yml   | 2 --
 .../docker-compose/basic-example/docker-compose.yml          | 2 --
 .../user-guides/docker-compose/basic-example/index.md        | 2 --
 integration/resources/compose/access_log.yml                 | 1 -
 integration/resources/compose/allowlist.yml                  | 1 -
 integration/resources/compose/base.yml                       | 1 -
 integration/resources/compose/consul.yml                     | 1 -
 integration/resources/compose/consul_catalog.yml             | 1 -
 integration/resources/compose/docker.yml                     | 1 -
 integration/resources/compose/error_pages.yml                | 1 -
 integration/resources/compose/etcd.yml                       | 1 -
 integration/resources/compose/file.yml                       | 1 -
 integration/resources/compose/healthcheck.yml                | 1 -
 integration/resources/compose/hostresolver.yml               | 1 -
 integration/resources/compose/k8s.yml                        | 1 -
 integration/resources/compose/minimal.yml                    | 1 -
 integration/resources/compose/pebble.yml                     | 1 -
 integration/resources/compose/proxy-protocol.yml             | 1 -
 integration/resources/compose/ratelimit.yml                  | 1 -
 integration/resources/compose/redis.yml                      | 1 -
 integration/resources/compose/redis_sentinel.yml             | 1 -
 integration/resources/compose/reqacceptgrace.yml             | 1 -
 integration/resources/compose/rest.yml                       | 1 -
 integration/resources/compose/retry.yml                      | 1 -
 integration/resources/compose/stats.yml                      | 1 -
 integration/resources/compose/tailscale.yml                  | 1 -
 integration/resources/compose/tcp.yml                        | 1 -
 integration/resources/compose/timeout.yml                    | 1 -
 integration/resources/compose/tlsclientheaders.yml           | 1 -
 integration/resources/compose/tracing.yml                    | 1 -
 integration/resources/compose/udp.yml                        | 1 -
 integration/resources/compose/whitelist.yml                  | 1 -
 integration/resources/compose/zookeeper.yml                  | 1 -
 48 files changed, 80 deletions(-)

diff --git a/docs/content/getting-started/quick-start.md b/docs/content/getting-started/quick-start.md
index a06bba0b1..4553a534f 100644
--- a/docs/content/getting-started/quick-start.md
+++ b/docs/content/getting-started/quick-start.md
@@ -15,8 +15,6 @@ A Use Case Using Docker
 Create a `docker-compose.yml` file where you will define a `reverse-proxy` service that uses the official Traefik image:
 
 ```yaml
-version: '3'
-
 services:
   reverse-proxy:
     # The official v3 Traefik docker image
@@ -50,8 +48,6 @@ Now that you have a Traefik instance up and running, you will deploy new service
 Edit your `docker-compose.yml` file and add the following at the end of your file.
 
 ```yaml
-version: '3'
-
 services:
 
   ...
diff --git a/docs/content/observability/access-logs.md b/docs/content/observability/access-logs.md
index 4a74b814b..b2177d2ae 100644
--- a/docs/content/observability/access-logs.md
+++ b/docs/content/observability/access-logs.md
@@ -288,8 +288,6 @@ It is possible to configure the Traefik to timestamp in a specific timezone by e
 Example utilizing Docker Compose:
 
 ```yaml
-version: "3.7"
-
 services:
   traefik:
     image: traefik:v3.4
diff --git a/docs/content/providers/docker.md b/docs/content/providers/docker.md
index e164ae349..df77e5e01 100644
--- a/docs/content/providers/docker.md
+++ b/docs/content/providers/docker.md
@@ -40,7 +40,6 @@ This provider works with [Docker (standalone) Engine](https://docs.docker.com/en
     Attaching labels to containers (in your docker compose file)
 
     ```yaml
-    version: "3"
     services:
       my-container:
         # ...
@@ -162,8 +161,6 @@ See the [Docker API Access](#docker-api-access) section for more information.
     The docker-compose file shares the docker sock with the Traefik container
 
     ```yaml
-    version: '3'
-
     services:
       traefik:
          image: traefik:v3.4 # The official v3 Traefik docker image
diff --git a/docs/content/providers/swarm.md b/docs/content/providers/swarm.md
index c5c158ba8..d1db245df 100644
--- a/docs/content/providers/swarm.md
+++ b/docs/content/providers/swarm.md
@@ -53,7 +53,6 @@ This provider works with [Docker Swarm Mode](https://docs.docker.com/engine/swar
     then that service is automatically assigned to the router.
 
     ```yaml
-    version: "3"
     services:
       my-container:
         deploy:
@@ -176,8 +175,6 @@ docker service create \
 ```
 
 ```yml tab="With Docker Compose"
-version: '3'
-
 services:
   traefik:
     # ...
@@ -208,8 +205,6 @@ See the [Docker Swarm API Access](#docker-api-access) section for more informati
     The docker-compose file shares the docker sock with the Traefik container
 
     ```yaml
-    version: '3'
-
     services:
       traefik:
          image: traefik:v3.4 # The official v3 Traefik docker image
diff --git a/docs/content/reference/install-configuration/observability/logs-and-accesslogs.md b/docs/content/reference/install-configuration/observability/logs-and-accesslogs.md
index d13226ad4..d610fae4d 100644
--- a/docs/content/reference/install-configuration/observability/logs-and-accesslogs.md
+++ b/docs/content/reference/install-configuration/observability/logs-and-accesslogs.md
@@ -199,8 +199,6 @@ It is possible to configure the Traefik to timestamp in a specific timezone by e
 Example utilizing Docker Compose:
 
 ```yaml
-version: "3.7"
-
 services:
   traefik:
     image: traefik:v3.4
diff --git a/docs/content/reference/install-configuration/providers/docker.md b/docs/content/reference/install-configuration/providers/docker.md
index 74e250ae0..82463e8fc 100644
--- a/docs/content/reference/install-configuration/providers/docker.md
+++ b/docs/content/reference/install-configuration/providers/docker.md
@@ -29,7 +29,6 @@ providers:
 Attach labels to containers (in your Docker compose file)
 
 ```yaml
-version: "3"
 services:
   my-container:
     # ...
@@ -67,8 +66,6 @@ See the [Docker API Access](#docker-api-access) section for more information.
     The docker-compose file shares the docker sock with the Traefik container
 
     ```yaml
-    version: '3'
-
     services:
       traefik:
          image: traefik:v3.1 # The official v3 Traefik docker image
diff --git a/docs/content/reference/install-configuration/providers/swarm.md b/docs/content/reference/install-configuration/providers/swarm.md
index becfdd577..92ac6a562 100644
--- a/docs/content/reference/install-configuration/providers/swarm.md
+++ b/docs/content/reference/install-configuration/providers/swarm.md
@@ -33,7 +33,6 @@ When there is only one service, and the router does not specify a service,
 then that service is automatically assigned to the router.
 
 ```yaml tab="Labels"
-version: "3"
 services:
   my-container:
     deploy:
@@ -73,8 +72,6 @@ See the [Docker Swarm API Access](#docker-api-access) section for more informati
     The docker-compose file shares the docker sock with the Traefik container
 
     ```yaml
-    version: '3'
-
     services:
       traefik:
          image: traefik:v3.1 # The official v3 Traefik docker image
@@ -405,8 +402,6 @@ docker service create \
 ```
 
 ```yml tab="With Docker Compose"
-version: '3'
-
 services:
   traefik:
     # ...
diff --git a/docs/content/reference/routing-configuration/dynamic-configuration-methods.md b/docs/content/reference/routing-configuration/dynamic-configuration-methods.md
index cb158d0b2..20b30222e 100644
--- a/docs/content/reference/routing-configuration/dynamic-configuration-methods.md
+++ b/docs/content/reference/routing-configuration/dynamic-configuration-methods.md
@@ -72,8 +72,6 @@ When using Docker or Amazon ECS, you can define routing configuration using cont
     When deploying a Docker container, you can specify labels to define routing rules and services:
 
     ```yaml
-    version: '3'
-
     services:
       my-service:
         image: my-image
diff --git a/docs/content/reference/routing-configuration/other-providers/docker.md b/docs/content/reference/routing-configuration/other-providers/docker.md
index e17c9fc91..fb3cb0445 100644
--- a/docs/content/reference/routing-configuration/other-providers/docker.md
+++ b/docs/content/reference/routing-configuration/other-providers/docker.md
@@ -35,7 +35,6 @@ With Docker, Traefik can leverage labels attached to a container to generate rou
     Attaching labels to containers (in your docker compose file)
 
     ```yaml
-    version: "3"
     services:
       my-container:
         # ...
@@ -48,7 +47,6 @@ With Docker, Traefik can leverage labels attached to a container to generate rou
     Forward requests for `http://example.com` to `http://<private IP of container>:12345`:
 
     ```yaml
-    version: "3"
     services:
       my-container:
         # ...
@@ -71,7 +69,6 @@ With Docker, Traefik can leverage labels attached to a container to generate rou
     In this example, requests are forwarded for `http://example-a.com` to `http://<private IP of container>:8000` in addition to `http://example-b.com` forwarding to `http://<private IP of container>:9000`:
 
     ```yaml
-    version: "3"
     services:
       my-container:
         # ...
diff --git a/docs/content/reference/routing-configuration/other-providers/swarm.md b/docs/content/reference/routing-configuration/other-providers/swarm.md
index 51b2371c0..824bb1470 100644
--- a/docs/content/reference/routing-configuration/other-providers/swarm.md
+++ b/docs/content/reference/routing-configuration/other-providers/swarm.md
@@ -48,7 +48,6 @@ With Docker Swarm, Traefik can leverage labels attached to a service to generate
     then that service is automatically assigned to the router.
 
     ```yaml
-    version: "3"
     services:
       my-container:
         deploy:
@@ -67,7 +66,6 @@ With Docker Swarm, Traefik can leverage labels attached to a service to generate
     Forward requests for `http://example.com` to `http://<private IP of container>:12345`:
 
     ```yaml
-    version: "3"
     services:
       my-container:
         # ...
@@ -93,7 +91,6 @@ With Docker Swarm, Traefik can leverage labels attached to a service to generate
     In this example, requests are forwarded for `http://example-a.com` to `http://<private IP of container>:8000` in addition to `http://example-b.com` forwarding to `http://<private IP of container>:9000`:
 
     ```yaml
-    version: "3"
     services:
       my-container:
         # ...
diff --git a/docs/content/routing/providers/docker.md b/docs/content/routing/providers/docker.md
index aedbfe09f..29b180388 100644
--- a/docs/content/routing/providers/docker.md
+++ b/docs/content/routing/providers/docker.md
@@ -42,7 +42,6 @@ With Docker, Traefik can leverage labels attached to a container to generate rou
     Attaching labels to containers (in your docker compose file)
 
     ```yaml
-    version: "3"
     services:
       my-container:
         # ...
@@ -55,7 +54,6 @@ With Docker, Traefik can leverage labels attached to a container to generate rou
     Forward requests for `http://example.com` to `http://<private IP of container>:12345`:
 
     ```yaml
-    version: "3"
     services:
       my-container:
         # ...
@@ -78,7 +76,6 @@ With Docker, Traefik can leverage labels attached to a container to generate rou
     In this example, requests are forwarded for `http://example-a.com` to `http://<private IP of container>:8000` in addition to `http://example-b.com` forwarding to `http://<private IP of container>:9000`:
 
     ```yaml
-    version: "3"
     services:
       my-container:
         # ...
diff --git a/docs/content/routing/providers/swarm.md b/docs/content/routing/providers/swarm.md
index bd9685ef6..915a57a6d 100644
--- a/docs/content/routing/providers/swarm.md
+++ b/docs/content/routing/providers/swarm.md
@@ -55,7 +55,6 @@ With Docker Swarm, Traefik can leverage labels attached to a service to generate
     then that service is automatically assigned to the router.
 
     ```yaml
-    version: "3"
     services:
       my-container:
         deploy:
@@ -74,7 +73,6 @@ With Docker Swarm, Traefik can leverage labels attached to a service to generate
     Forward requests for `http://example.com` to `http://<private IP of container>:12345`:
 
     ```yaml
-    version: "3"
     services:
       my-container:
         # ...
@@ -100,7 +98,6 @@ With Docker Swarm, Traefik can leverage labels attached to a service to generate
     In this example, requests are forwarded for `http://example-a.com` to `http://<private IP of container>:8000` in addition to `http://example-b.com` forwarding to `http://<private IP of container>:9000`:
 
     ```yaml
-    version: "3"
     services:
       my-container:
         # ...
diff --git a/docs/content/user-guides/docker-compose/acme-dns/docker-compose.yml b/docs/content/user-guides/docker-compose/acme-dns/docker-compose.yml
index d276dc41e..b81bcd495 100644
--- a/docs/content/user-guides/docker-compose/acme-dns/docker-compose.yml
+++ b/docs/content/user-guides/docker-compose/acme-dns/docker-compose.yml
@@ -1,5 +1,3 @@
-version: "3.3"
-
 services:
 
   traefik:
diff --git a/docs/content/user-guides/docker-compose/acme-dns/docker-compose_secrets.yml b/docs/content/user-guides/docker-compose/acme-dns/docker-compose_secrets.yml
index ce629d8f2..74d70f749 100644
--- a/docs/content/user-guides/docker-compose/acme-dns/docker-compose_secrets.yml
+++ b/docs/content/user-guides/docker-compose/acme-dns/docker-compose_secrets.yml
@@ -1,5 +1,3 @@
-version: "3.3"
-
 secrets:
   ovh_endpoint:
     file: "./secrets/ovh_endpoint.secret"
diff --git a/docs/content/user-guides/docker-compose/acme-http/docker-compose.yml b/docs/content/user-guides/docker-compose/acme-http/docker-compose.yml
index 82c248a68..6f54ab79c 100644
--- a/docs/content/user-guides/docker-compose/acme-http/docker-compose.yml
+++ b/docs/content/user-guides/docker-compose/acme-http/docker-compose.yml
@@ -1,5 +1,3 @@
-version: "3.3"
-
 services:
 
   traefik:
diff --git a/docs/content/user-guides/docker-compose/acme-tls/docker-compose.yml b/docs/content/user-guides/docker-compose/acme-tls/docker-compose.yml
index e3faaa3ce..6e2b3fa72 100644
--- a/docs/content/user-guides/docker-compose/acme-tls/docker-compose.yml
+++ b/docs/content/user-guides/docker-compose/acme-tls/docker-compose.yml
@@ -1,5 +1,3 @@
-version: "3.3"
-
 services:
 
   traefik:
diff --git a/docs/content/user-guides/docker-compose/basic-example/docker-compose.yml b/docs/content/user-guides/docker-compose/basic-example/docker-compose.yml
index 3e9f68fa7..2491de7dc 100644
--- a/docs/content/user-guides/docker-compose/basic-example/docker-compose.yml
+++ b/docs/content/user-guides/docker-compose/basic-example/docker-compose.yml
@@ -1,5 +1,3 @@
-version: "3.3"
-
 services:
 
   traefik:
diff --git a/docs/content/user-guides/docker-compose/basic-example/index.md b/docs/content/user-guides/docker-compose/basic-example/index.md
index f6d395b4a..35a5fe39f 100644
--- a/docs/content/user-guides/docker-compose/basic-example/index.md
+++ b/docs/content/user-guides/docker-compose/basic-example/index.md
@@ -23,8 +23,6 @@ Create a `docker-compose.yml` file with the following content:
     You can use a [pre-existing network](https://docs.docker.com/compose/networking/#use-a-pre-existing-network "Link to Docker Compose networking docs") too.
 
     ```yaml
-    version: "3.3"
-
     networks:
       traefiknet: {}
 
diff --git a/integration/resources/compose/access_log.yml b/integration/resources/compose/access_log.yml
index c5be8f9e4..a5e4f5d44 100644
--- a/integration/resources/compose/access_log.yml
+++ b/integration/resources/compose/access_log.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   server0:
     image: traefik/whoami
diff --git a/integration/resources/compose/allowlist.yml b/integration/resources/compose/allowlist.yml
index 0fd241322..f5cd10680 100644
--- a/integration/resources/compose/allowlist.yml
+++ b/integration/resources/compose/allowlist.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   noOverrideAllowlist:
     image: traefik/whoami
diff --git a/integration/resources/compose/base.yml b/integration/resources/compose/base.yml
index 2d6380051..54a5f2f8e 100644
--- a/integration/resources/compose/base.yml
+++ b/integration/resources/compose/base.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   whoami1:
     image: traefik/whoami
diff --git a/integration/resources/compose/consul.yml b/integration/resources/compose/consul.yml
index 041ba0b45..0d1f343ba 100644
--- a/integration/resources/compose/consul.yml
+++ b/integration/resources/compose/consul.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   consul:
     image: consul:1.6
diff --git a/integration/resources/compose/consul_catalog.yml b/integration/resources/compose/consul_catalog.yml
index 6a0fd279c..949333a39 100644
--- a/integration/resources/compose/consul_catalog.yml
+++ b/integration/resources/compose/consul_catalog.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   consul:
     image: consul:1.6.2
diff --git a/integration/resources/compose/docker.yml b/integration/resources/compose/docker.yml
index b16571a4b..7ee4492cf 100644
--- a/integration/resources/compose/docker.yml
+++ b/integration/resources/compose/docker.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   simple:
     image: swarm:1.0.0
diff --git a/integration/resources/compose/error_pages.yml b/integration/resources/compose/error_pages.yml
index 03cc13f80..3f2c40e6b 100644
--- a/integration/resources/compose/error_pages.yml
+++ b/integration/resources/compose/error_pages.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   nginx1:
     image: nginx:1.25.3-alpine3.18
diff --git a/integration/resources/compose/etcd.yml b/integration/resources/compose/etcd.yml
index 6a3b34fe9..02529171a 100644
--- a/integration/resources/compose/etcd.yml
+++ b/integration/resources/compose/etcd.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   etcd:
     image: quay.io/coreos/etcd:v3.5.14
diff --git a/integration/resources/compose/file.yml b/integration/resources/compose/file.yml
index 52e973e53..3e37129b2 100644
--- a/integration/resources/compose/file.yml
+++ b/integration/resources/compose/file.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   whoami1:
     image: traefik/whoami
diff --git a/integration/resources/compose/healthcheck.yml b/integration/resources/compose/healthcheck.yml
index 9419f4bce..ee9be620f 100644
--- a/integration/resources/compose/healthcheck.yml
+++ b/integration/resources/compose/healthcheck.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   whoami1:
     image: traefik/whoami
diff --git a/integration/resources/compose/hostresolver.yml b/integration/resources/compose/hostresolver.yml
index 680962006..424b832ce 100644
--- a/integration/resources/compose/hostresolver.yml
+++ b/integration/resources/compose/hostresolver.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   server1:
     image: traefik/whoami
diff --git a/integration/resources/compose/k8s.yml b/integration/resources/compose/k8s.yml
index f14b7abdb..51e46b0be 100644
--- a/integration/resources/compose/k8s.yml
+++ b/integration/resources/compose/k8s.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   server:
     image: rancher/k3s:v1.21.14-k3s1
diff --git a/integration/resources/compose/minimal.yml b/integration/resources/compose/minimal.yml
index acb12804e..911b12d38 100644
--- a/integration/resources/compose/minimal.yml
+++ b/integration/resources/compose/minimal.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   whoami1:
     image: traefik/whoami
diff --git a/integration/resources/compose/pebble.yml b/integration/resources/compose/pebble.yml
index f39dc1378..4e9eac58b 100644
--- a/integration/resources/compose/pebble.yml
+++ b/integration/resources/compose/pebble.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   pebble:
     image: letsencrypt/pebble:v2.3.1
diff --git a/integration/resources/compose/proxy-protocol.yml b/integration/resources/compose/proxy-protocol.yml
index 8fa69a9ba..3d8339330 100644
--- a/integration/resources/compose/proxy-protocol.yml
+++ b/integration/resources/compose/proxy-protocol.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   whoami:
     image: traefik/whoami
diff --git a/integration/resources/compose/ratelimit.yml b/integration/resources/compose/ratelimit.yml
index 5d9d6ec1e..414aff839 100644
--- a/integration/resources/compose/ratelimit.yml
+++ b/integration/resources/compose/ratelimit.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   whoami1:
     image: traefik/whoami
diff --git a/integration/resources/compose/redis.yml b/integration/resources/compose/redis.yml
index 09bbeacad..bc5e657b3 100644
--- a/integration/resources/compose/redis.yml
+++ b/integration/resources/compose/redis.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   redis:
     image: redis:5.0
diff --git a/integration/resources/compose/redis_sentinel.yml b/integration/resources/compose/redis_sentinel.yml
index 1737c2a1a..3f76aa12f 100644
--- a/integration/resources/compose/redis_sentinel.yml
+++ b/integration/resources/compose/redis_sentinel.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   master:
     image: redis
diff --git a/integration/resources/compose/reqacceptgrace.yml b/integration/resources/compose/reqacceptgrace.yml
index 8fa69a9ba..3d8339330 100644
--- a/integration/resources/compose/reqacceptgrace.yml
+++ b/integration/resources/compose/reqacceptgrace.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   whoami:
     image: traefik/whoami
diff --git a/integration/resources/compose/rest.yml b/integration/resources/compose/rest.yml
index 251568165..fd0dedb04 100644
--- a/integration/resources/compose/rest.yml
+++ b/integration/resources/compose/rest.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   whoami1:
     image: traefik/whoami
diff --git a/integration/resources/compose/retry.yml b/integration/resources/compose/retry.yml
index 8fa69a9ba..3d8339330 100644
--- a/integration/resources/compose/retry.yml
+++ b/integration/resources/compose/retry.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   whoami:
     image: traefik/whoami
diff --git a/integration/resources/compose/stats.yml b/integration/resources/compose/stats.yml
index 599fed311..206fa5187 100644
--- a/integration/resources/compose/stats.yml
+++ b/integration/resources/compose/stats.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   whoami1:
     image: traefik/whoami
diff --git a/integration/resources/compose/tailscale.yml b/integration/resources/compose/tailscale.yml
index dbad56561..70e5d796c 100644
--- a/integration/resources/compose/tailscale.yml
+++ b/integration/resources/compose/tailscale.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   tailscaled:
     hostname: traefik-tests-gw             # This will become the tailscale device name
diff --git a/integration/resources/compose/tcp.yml b/integration/resources/compose/tcp.yml
index cd7fc0627..14e2d413c 100644
--- a/integration/resources/compose/tcp.yml
+++ b/integration/resources/compose/tcp.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   whoami-a:
     image: traefik/whoamitcp
diff --git a/integration/resources/compose/timeout.yml b/integration/resources/compose/timeout.yml
index 6e415b9b0..de629c4db 100644
--- a/integration/resources/compose/timeout.yml
+++ b/integration/resources/compose/timeout.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   timeoutEndpoint:
     image: yaman/timeout
diff --git a/integration/resources/compose/tlsclientheaders.yml b/integration/resources/compose/tlsclientheaders.yml
index ef16f5f36..ae03ecbae 100644
--- a/integration/resources/compose/tlsclientheaders.yml
+++ b/integration/resources/compose/tlsclientheaders.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   whoami:
     image: traefik/whoami
diff --git a/integration/resources/compose/tracing.yml b/integration/resources/compose/tracing.yml
index 314dd66dc..8a2a6d514 100644
--- a/integration/resources/compose/tracing.yml
+++ b/integration/resources/compose/tracing.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   tempo:
     hostname: tempo
diff --git a/integration/resources/compose/udp.yml b/integration/resources/compose/udp.yml
index ce2633199..0c001c829 100644
--- a/integration/resources/compose/udp.yml
+++ b/integration/resources/compose/udp.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   whoami-a:
     image: traefik/whoamiudp:latest
diff --git a/integration/resources/compose/whitelist.yml b/integration/resources/compose/whitelist.yml
index 790ce52b7..ee08b935e 100644
--- a/integration/resources/compose/whitelist.yml
+++ b/integration/resources/compose/whitelist.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   noOverrideWhitelist:
     image: traefik/whoami
diff --git a/integration/resources/compose/zookeeper.yml b/integration/resources/compose/zookeeper.yml
index 9861c1437..b086f24f3 100644
--- a/integration/resources/compose/zookeeper.yml
+++ b/integration/resources/compose/zookeeper.yml
@@ -1,4 +1,3 @@
-version: "3.8"
 services:
   zookeeper:
     image: zookeeper:3.5
-- 
GitLab