Additional property macvlan is not allowed for iVentoy on NAS Synology

Hello,
I would like to install iVentoy on my synology ds923+ nas with docker. When I click on “deploy the stack”, I get the following error: Deployment error
failed to deploy a stack: validating /data/compose/193/docker-compose.yml: services.networks Additional property macvlan is not allowed

I’ve also included the docker-compose file below:

---
version: '3.9'
services:
  iventoy:
    image: ziggyds/iventoy:latest
    container_name: iventoy
    restart: always
    privileged: true #must be true
    ports:
      - 11050:11050
      - 16000:16000
      - 10809:10809
      - 67:67
      - 69:69
    volumes:
      - /volume1/docker/iventoy/iso:/app/iso
      - /volume1/docker/iventoy/data:/app/data
      - /volume1/docker/iventoy/log:/app/log
    environment:
      - AUTO_START_PXE=true # optional, true by default
  networks:
    macvlan:
      ipv4_address: 192.168.1.17
      
#volumes:
#  iso:
#    external: true
#  config:
#    external: true

networks:
  macvlan:
    name: macvlan
    driver: macvlan
    driver_opts:
      parent: eth0
    ipam:
      config:
      - subnet: "192.168.1.0/24"
        ip_range: "192.168.1.100"
        gateway: "192.168.1.1"

Can someone please help me?

Line 21 to 23 are missing indentation, they should be child nodes of the service, not siblings.

as I understand it

---
version: '3.9'
services:
  iventoy:
    image: ziggyds/iventoy:latest
    container_name: iventoy
    restart: always
    privileged: true #must be true
    ports:
      - 11050:11050
      - 16000:16000
      - 10809:10809
      - 67:67
      - 69:69
    volumes:
      - /volume1/docker/iventoy/iso:/app/iso
      - /volume1/docker/iventoy/data:/app/data
      - /volume1/docker/iventoy/log:/app/log
    environment:
      - AUTO_START_PXE=true # optional, true by default
      
#volumes:
#  iso:
#    external: true
#  config:
#    external: true

networks:
  macvlan:
    ipv4_address: 192.168.1.17
    name: macvlan
    driver: macvlan
    driver_opts:
      parent: eth0
    ipam:
      config:
      - subnet: "192.168.1.0/24"
        ip_range: "192.168.1.100"
        gateway: "192.168.1.1"

I am not sure why you removed the lines. It should look like this:

---
version: '3.9'
services:
  iventoy:
    image: ziggyds/iventoy:latest
    container_name: iventoy
    restart: always
    privileged: true #must be true
    ports:
      - 11050:11050
      - 16000:16000
      - 10809:10809
      - 67:67
      - 69:69
    volumes:
      - /volume1/docker/iventoy/iso:/app/iso
      - /volume1/docker/iventoy/data:/app/data
      - /volume1/docker/iventoy/log:/app/log
    environment:
      - AUTO_START_PXE=true # optional, true by default
    networks:
      macvlan:
        ipv4_address: 192.168.1.17

networks:
  macvlan:
    name: macvlan
    driver: macvlan
    driver_opts:
      parent: eth0
    ipam:
      config:
      - subnet: "192.168.1.0/24"
        ip_range: "192.168.1.100"
        gateway: "192.168.1.1"

I doubt the ip_range parameter is correct like this, as it needs to be in CIDR notation. The format must look like the subnet, which is written in CIDR notation. It must be outside the ip-range your network’s dhcp server manages.

I didn’t understand the words brothers and sisters.

Oh yes, so much for my CIDR rating. I modified.

---
version: '3.9'
services:
  iventoy:
    image: ziggyds/iventoy:latest
    container_name: iventoy
    restart: always
    privileged: true #must be true
    ports:
      - 11050:11050
      - 16000:16000
      - 10809:10809
      - 67:67
      - 69:69
    volumes:
      - /volume1/docker/iventoy/iso:/app/iso
      - /volume1/docker/iventoy/data:/app/data
      - /volume1/docker/iventoy/log:/app/log
    environment:
      - AUTO_START_PXE=true # optional, true by default
    networks:
      macvlan:
        ipv4_address: 192.168.1.17

networks:
  macvlan:
    name: macvlan
    driver: macvlan
    driver_opts:
      parent: eth0
    ipam:
      config:
      - subnet: "192.168.1.0/24"
        ip_range: "192.168.1.60/28"
        gateway: "192.168.1.1"

I get this result by modifying
failed to deploy a stack: Network macvlan Creating Network macvlan Created Container iventoy Creating Container iventoy Created Container iventoy Starting Error response from daemon: failed to create the macvlan port: device or resource busy

I’ve replaced 192.168.1.0 with 192.168.144.2 but it doesn’t change anything. Note that my DHCP goes from 192.168.1.100/24 to 192.168.144.254/24

I’m sorry, but I really can’t do it. I don’t understand why macvlan is blocking.

On Syno? Its either firewall on and no macvlan, or firewall off and macvlan. That’s why people start to use it, realize the problem, and then stop using it.

Note: networks are immutable in compose, you can not just update it and expect it be reflected in the network configuration. Usually we must delete the network, and let compose recreate it. I don’t know if the same rule applies to the Syno Container Manager, as “their docker” has some additional features that don’t exist in the vanila docker world, and miss/break features that do exist in the vanila docker world.

Your ipv4_adress ip 192.168.1.17 is NOT within the ip_range 192.168.1.60/28 (=192.168.1.48 - 192.168.1.63).

oh, I understand meix, I’ve got the firewall activated. I’m going to have to create a new docker VM just for that.