Failed to deploy a stack volumes must be a mapping

Hello im using docker for VM

and when want to deploy getting this error

Failed to deploy a stack: failed to create compose project: failed to load the compose file : validating /data/compose/41/docker-compose.yml: volumes must be a mapping

This is my code :

services:
  windows:
    image: dockurr/windows:latest
    container_name: windows
    environment:
      VERSION: "10"
      CPU_CORES: "8"
      RAM_SIZE: "8G"
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    volumes:
      - data:/storage:rw

    stop_grace_period: 10m

volumes:
  data:

Any idea to why this is happening?

Please share the output of docker info.

Client: Docker Engine - Community
 Version:    29.0.0-rc.1
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.29.1
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.40.3
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 1
  Running: 1
  Paused: 0
  Stopped: 0
 Images: 1
 Server Version: 29.0.0-rc.1
 Storage Driver: overlayfs
  driver-type: io.containerd.snapshotter.v1
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 CDI spec directories:
  /etc/cdi
  /var/run/cdi
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 75cb2b7193e4e490e9fbdc236c0e811ccaba3376
 runc version: v1.3.0-0-g4ca628d1
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.6.87.2-microsoft-standard-WSL2
 Operating System: Ubuntu 24.04.3 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 16
 Total Memory: 7.356GiB
 Name: DESKTOP-C6EBBCB
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  ::1/128
  127.0.0.0/8
 Live Restore Enabled: false
 Firewall Backend: iptables

Please format it as code block, like you did with the compose file.

done please check again

Your compose file looks correct. Nothing in the docs indicate that the volume short syntax suddenly changed from a list to a map.

You are on a release candidate of Docker 29, so errors can be expected.

Can you try docker compose config to determine whether the problem is in the compose cli plugin?

this is what i get

no configuration file provided: not found

Of course, you need to be in the folder where the compose file is located, or specify the compose file with -f <path to compose file>

sorry im kinda dumb this is what i get T_T

root@DESKTOP-C6EBBCB:/home/inuko# docker compose config -f /usr/libexec/docker/cli-plugins/docker-compose
unknown shorthand flag: ‘f’ in -f

I should have been more precise.

Please execute:

docker compose -f <path to the compose file> config

Where <path to the compose file> is the compose file that contains the content you shared in your first post.