zwave-js / zwave-js-ui

Full featured Z-Wave Control Panel UI and MQTT gateway. Built using Nodejs, and Vue/Vuetify
https://zwave-js.github.io/zwave-js-ui
MIT License
920 stars 196 forks source link

After Pulling Latest - KeyError: 'ContainerConfig' #3761

Closed stu1811 closed 3 weeks ago

stu1811 commented 3 weeks ago

Checklist

Deploy method

Docker

Z-Wave JS UI version

9.13

ZwaveJS version

12.9.1

Describe the bug

I last updated 5 weeks ago. After pull latest from docker the container no longer start.

To Reproduce

version: '3.7'
services:
  zwave-js-ui:
    container_name: zwave-js-ui
    image: zwavejs/zwave-js-ui:9.13
    restart: always
    tty: true
    stop_signal: SIGINT
    environment:
      - SESSION_SECRET=mysupersecretkey
      - ZWAVEJS_EXTERNAL_CONFIG=/usr/src/app/store/.config-db
      # Uncomment if you want logs time and dates to match your timezone instead of UTC
      # Available at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
      #- TZ=America/New_York
    networks:
      - zwave
    devices:
      # Do not use /dev/ttyUSBX serial devices, as those mappings can change over time.
      # Instead, use the /dev/serial/by-id/X serial device for your Z-Wave stick.
      - '/dev/serial/by-id/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_0679f83e8ecdeb119b405f02c009e213-if00-port0:/dev/zwave'
    volumes:
      - zwave-config:/usr/src/app/store
    ports:
      - '8091:8091' # port for web interface
      - '3000:3000' # port for Z-Wave JS websocket server
networks:
  zwave:
volumes:
  zwave-config:
    name: zwave-config_new
Pulling zwave-js-ui (zwavejs/zwave-js-ui:9.13)...                                                                                                                                                                                                                
9.13: Pulling from zwavejs/zwave-js-ui                                                                                                                                                                                                                           
Digest: sha256:06fa3ff17f99ba6f57ec486b62ff497ba6d534f2ab543eddbe1f7c9a142f8933                                                                                                                                                                                  
Status: Downloaded newer image for zwavejs/zwave-js-ui:9.13                                                                                                                                                                                                      
Recreating fb86593eb258_zwave-js-ui ...                                                                                                                                                                                                                          

ERROR: for fb86593eb258_zwave-js-ui  'ContainerConfig'                                                                                                                                                                                                           

ERROR: for zwave-js-ui  'ContainerConfig'                                                                                                                                                                                                                        
Traceback (most recent call last):                                                                                                                                                                                                                               
  File "/usr/bin/docker-compose", line 33, in <module>                                                                                                                                                                                                           
    sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')())                                                                                                                                                                  
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 81, in main                                                                                                                                                                                    
    command_func()                                                                                                                                                                                                                                               
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 203, in perform_command                                                                                                                                                                        
    handler(command, command_options)                                                                                                                                                                                                                            
  File "/usr/lib/python3/dist-packages/compose/metrics/decorator.py", line 18, in wrapper                                                                                                                                                                        
    result = fn(*args, **kwargs)                                                                                                                                                                                                                                 
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1186, in up                                                                                                                                                                                    
    to_attach = up(False)                                                                                                                                                                                                                                        
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1166, in up                                                                                                                                                                                    
    return self.project.up(                                                                                                                                                                                                                                      
  File "/usr/lib/python3/dist-packages/compose/project.py", line 697, in up                                                                                                                                                                                      
    results, errors = parallel.parallel_execute(                                                                                                                                                                                                                 
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_execute                                                                                                                                                                       
    raise error_to_reraise                                                                                                                                                                                                                                       
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producer                                                                                                                                                                               
    result = func(obj)                                                                                                                                                                                                                                           
  File "/usr/lib/python3/dist-packages/compose/project.py", line 679, in do                                                                                                                                                                                      
    return service.execute_convergence_plan(                                                                                                                                                                                                                     
  File "/usr/lib/python3/dist-packages/compose/service.py", line 579, in execute_convergence_plan                                                                                                                                                                
    return self._execute_convergence_recreate(                                                                                                                                                                                                                   
  File "/usr/lib/python3/dist-packages/compose/service.py", line 499, in _execute_convergence_recreate                                                                                                                                                           
    containers, errors = parallel_execute(                                                                                                                                                                                                                       
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_execute                                                                                                                                                                       
    raise error_to_reraise                                                                                                                                                                                                                                       
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producer                                                                                                                                                                               
    result = func(obj)                                                                                                                                                                                                                                           
  File "/usr/lib/python3/dist-packages/compose/service.py", line 494, in recreate                                                                                                                                                                                
    return self.recreate_container(                                                                                                                                                                                                                              
  File "/usr/lib/python3/dist-packages/compose/service.py", line 612, in recreate_container                                                                                                                                                                      
    new_container = self.create_container(                                                                                                                                                                                                                       
  File "/usr/lib/python3/dist-packages/compose/service.py", line 330, in create_container                                                                                                                                                                        
    container_options = self._get_container_create_options(                                                                                                                                                                                                      
  File "/usr/lib/python3/dist-packages/compose/service.py", line 921, in _get_container_create_options                                                                                                                                                           
    container_options, override_options = self._build_container_volume_options(                                                                                                                                                                                  
  File "/usr/lib/python3/dist-packages/compose/service.py", line 960, in _build_container_volume_options                                                                                                                                                         
    binds, affinity = merge_volume_bindings(                                                                                                                                                                                                                     
  File "/usr/lib/python3/dist-packages/compose/service.py", line 1548, in merge_volume_bindings                                                                                                                                                                  
    old_volumes, old_mounts = get_container_data_volumes(                                                                                                                                                                                                        
  File "/usr/lib/python3/dist-packages/compose/service.py", line 1579, in get_container_data_volumes                                                                                                                                                             
    container.image_config['ContainerConfig'].get('Volumes') or {}                                                                                                                                                                                               
KeyError: 'ContainerConfig' 

Expected behavior

Container would start without error

Additional context

No response

robertsLando commented 3 weeks ago

@stu1811 Check this: https://askubuntu.com/a/1508135

Now, my containers are running with:

docker compose up -d
instead of:

docker-compose up -d
This is because docker-compose is the V1 syntax, [which is now deprecated](https://docs.docker.com/compose/). The V2 syntax is docker compose, since it's now a plugin and not a separate command.
stu1811 commented 3 weeks ago

Wow. FIrst I've seen that. Thanks. Works now.

robertsLando commented 3 weeks ago

First time for me too, never stop learning new bugs 😆