Installing Docker on Windows using openvidu server kms: 2.20.0 calls the recording interface with error 500

Installing Docker on Windows11 using openvidu server kms: 2.21.0 calls the recording interface with error 500 and openvidu error
2025-01-06 14:14:05 [ERROR] 2025-01-06 06:14:05,908 [https-jsse-nio-0.0.0.0-4443-exec-10] io.openvidu.server.utils.CustomFileManager - Couldn’t overwrite file /opt/openvidu/recordings/ses_PepRpIMJPj/.recording.ses_PepRpIMJPj. Error: /opt/openvidu/recordings/ses_PepRpIMJPj/.recording.ses_PepRpIMJPj (No such file or directory)
2025-01-06 14:14:05 [ERROR] 2025-01-06 06:14:05,900 [https-jsse-nio-0.0.0.0-4443-exec-10] io.openvidu.server.recording.service.RecordingService - Recording start failed for session ses_PepRpIMJPj: Couldn’t initialize recording container. Error: File /opt/openvidu/recordings/ses_PepRpIMJPj/ses_PepRpIMJPj.mp4 does not exist and hasn’t been created in 30 seconds
Below is my startup image openvidu server ks:
image: openvidu/openvidu-server-kms:2.20.0
container_name: emergency-openvidu-server
restart: always
privileged: true
ports:

  • 4443:4443
    volumes:
  • /var/run/docker.sock:/ var/run/docker.sock
  • ~/emergency/openvidu/recordings:/ emergency/openvidu/recordings
  • ~/emergency/openvidu/custom-layout:/ emergency/openvidu/custom-layout
    environment:
  • HTTPS_PORT=4443
    #Change to actual IP address
  • DOMAIN_OR_PUBLIC_IP=188.188.1.200
  • OPENVIDU_SECRET=MY_SECRET
  • OPENVIDU_RECORDING_PATH=/opt/openvidu/recordings
  • OPENVIDU_RECORDING_CUSTOM_LAYOUT=/emergency/openvidu/custom-layout
  • OPENVIDU_RECORDING=true
  • OPENVIDU_RECORDING_PUBLIC_ACCESS=false
    logging:
    options:
    max-size: “100M”
    Could you please help me check where the error is and if I need to run an openvidu recording image

o.openvidu.server.rest.SessionRestController - REST API: POST /openvidu/api/recordings/start {name=, hasAudio=true, hasVideo=true, outputMode=COMPOSED, recordingLayout=CUSTOM, resolution=1280x720, frameRate=60, shmSize=536870912, customLayout=, session=ses_AiBAcLhnxU}

2025-01-06 15:15:01

2025-01-06 15:15:01 2025-01-06 07:15:01,179 DEBG ‘openvidu-server’ stdout output:

2025-01-06 15:15:01 [INFO] 2025-01-06 07:15:01,178 [https-jsse-nio-0.0.0.0-4443-exec-6] io.openvidu.server.recording.service.RecordingManager - Getting free recording id for session ses_AiBAcLhnxU

2025-01-06 15:15:01

2025-01-06 15:15:01 2025-01-06 07:15:01,181 DEBG ‘openvidu-server’ stdout output:

2025-01-06 15:15:01 [INFO] 2025-01-06 07:15:01,181 [https-jsse-nio-0.0.0.0-4443-exec-6] io.openvidu.server.recording.service.RecordingManager - Free recording id got for session ses_AiBAcLhnxU: ses_AiBAcLhnxU

2025-01-06 15:15:01 [INFO] 2025-01-06 07:15:01,181 [https-jsse-nio-0.0.0.0-4443-exec-6] io.openvidu.server.recording.service.RecordingService - New recording id (ses_AiBAcLhnxU) and final name (ses_AiBAcLhnxU)

2025-01-06 15:15:01

2025-01-06 15:15:01 2025-01-06 07:15:01,181 DEBG ‘openvidu-server’ stdout output:

2025-01-06 15:15:01 [INFO] 2025-01-06 07:15:01,181 [https-jsse-nio-0.0.0.0-4443-exec-6] io.openvidu.server.recording.service.ComposedRecordingService - Starting composed (video + audio) recording ses_AiBAcLhnxU of session ses_AiBAcLhnxU

2025-01-06 15:15:01 [INFO] 2025-01-06 07:15:01,181 [https-jsse-nio-0.0.0.0-4443-exec-6] io.openvidu.server.recording.service.ComposedRecordingService - {“id”:“ses_AiBAcLhnxU”,“object”:“recording”,“name”:“ses_AiBAcLhnxU”,“outputMode”:“COMPOSED”,“resolution”:“1280x720”,“frameRate”:60,“recordingLayout”:“CUSTOM”,“customLayout”:“”,“sessionId”:“ses_AiBAcLhnxU”,“uniqueSessionId”:“ses_AiBAcLhnxU_1736147693515”,“createdAt”:1736147701181,“size”:0,“duration”:0.0,“url”:null,“hasAudio”:true,“hasVideo”:true,“status”:“started”}

2025-01-06 15:15:01 [INFO] 2025-01-06 07:15:01,181 [https-jsse-nio-0.0.0.0-4443-exec-6] io.openvidu.server.recording.service.ComposedRecordingService - Recorder connecting to url https://OPENVIDUAPP:MY_SECRET@188.188.1.200:4443/openvidu/layouts/index.html?sessionId=ses_AiBAcLhnxU&secret=MY_SECRET

2025-01-06 15:15:01

2025-01-06 15:15:01 2025-01-06 07:15:01,388 DEBG ‘openvidu-server’ stdout output:

2025-01-06 15:15:01 [INFO] 2025-01-06 07:15:01,388 [https-jsse-nio-0.0.0.0-4443-exec-6] io.openvidu.server.utils.DockerManager - Container ID: db57913b29a530c08a87a8a10c91d473202da522dbbe574ceadbc14b00b5da71

2025-01-06 15:15:01

2025-01-06 15:15:01 2025-01-06 07:15:01,751 DEBG ‘openvidu-server’ stdout output:

2025-01-06 15:15:01 [INFO] 2025-01-06 07:15:01,751 [SessionHandler-u5dif9mj0bf87jli65v1lm3n9-e62-t0] io.openvidu.server.rpc.RpcHandler - Participant con_CREaorPT8T is calling method ‘videoData’ in session ses_AiBAcLhnxU

2025-01-06 15:15:01 [INFO] 2025-01-06 07:15:01,751 [SessionHandler-u5dif9mj0bf87jli65v1lm3n9-e62-t0] io.openvidu.server.core.SessionEventsHandler - Video data of participant con_CREaorPT8T was initialized. height:480, width:640, isVideoActive: true, isAudioActive: true

2025-01-06 15:15:01

2025-01-06 15:15:02 2025-01-06 07:15:02,775 DEBG ‘kms’ stdout output:

2025-01-06 15:15:02 0:27:21.300707582 9 0x7f7804006c30 DEBUG KurentoWebSocketEventHandler WebSocketEventHandler.cpp:56:sendEvent: Sending event: {“jsonrpc”:“2.0”,“method”:“onEvent”,“params”:{“value”:{“data”:{“componentId”:2,“source”:“3bed1eb5-eeb9-4868-abcd-a5aaa6f3c1df_kurento.MediaPipeline/c9e7bf2d-fa0c-484d-b96f-4128a8da4408_kurento.WebRtcEndpoint”,“state”:“FAILED”,“streamId”:1,“tags”:,“timestamp”:“1736147702”,“timestampMillis”:“1736147702775”,“type”:“IceComponentStateChange”},“object”:“3bed1eb5-eeb9-4868-abcd-a5aaa6f3c1df_kurento.MediaPipeline/c9e7bf2d-fa0c-484d-b96f-4128a8da4408_kurento.WebRtcEndpoint”,“type”:“IceComponentStateChange”}}}, sessionId: 4b2e433a-08f3-4763-8c93-098845a1e01b

2025-01-06 15:15:02

2025-01-06 15:15:02 2025-01-06 07:15:02,776 DEBG ‘openvidu-server’ stdout output:

2025-01-06 15:15:02 [INFO] 2025-01-06 07:15:02,775 [AbstractJsonRpcClientWebSocket-reqResEventExec-e2-t102] io.openvidu.server.kurento.core.KurentoParticipantEndpointConfig - KMS event [IceComponentStateChange]: → endpoint: con_PYTnq00tpP_str_CAM_CLGm_con_CREaorPT8T (subscriber) | state: FAILED | componentId: 2 | streamId: 1 | timestamp: 1736147702775

2025-01-06 15:15:02

2025-01-06 15:15:02 2025-01-06 07:15:02,835 DEBG ‘kms’ stdout output:

2025-01-06 15:15:02 0:27:21.360737058 9 0x7f7800006c90 DEBUG KurentoWebSocketEventHandler WebSocketEventHandler.cpp:56:sendEvent: Sending event: {“jsonrpc”:“2.0”,“method”:“onEvent”,“params”:{“value”:{“data”:{“componentId”:2,“source”:“3bed1eb5-eeb9-4868-abcd-a5aaa6f3c1df_kurento.MediaPipeline/25202929-47b9-4169-bb8b-8bc8052eb464_kurento.WebRtcEndpoint”,“state”:“FAILED”,“streamId”:1,“tags”:,“timestamp”:“1736147702”,“timestampMillis”:“1736147702835”,“type”:“IceComponentStateChange”},“object”:“3bed1eb5-eeb9-4868-abcd-a5aaa6f3c1df_kurento.MediaPipeline/25202929-47b9-4169-bb8b-8bc8052eb464_kurento.WebRtcEndpoint”,“type”:“IceComponentStateChange”}}}, sessionId: 4b2e433a-08f3-4763-8c93-098845a1e01b

2025-01-06 15:15:02

2025-01-06 15:15:02 2025-01-06 07:15:02,836 DEBG ‘openvidu-server’ stdout output:

2025-01-06 15:15:02 [INFO] 2025-01-06 07:15:02,835 [AbstractJsonRpcClientWebSocket-reqResEventExec-e2-t102] io.openvidu.server.kurento.core.KurentoParticipantEndpointConfig - KMS event [IceComponentStateChange]: → endpoint: str_CAM_RrqT_con_PYTnq00tpP (publisher) | state: FAILED | componentId: 2 | streamId: 1 | timestamp: 1736147702835

2025-01-06 15:15:02

2025-01-06 15:15:09 2025-01-06 07:15:09,762 DEBG ‘openvidu-server’ stdout output:

2025-01-06 15:15:09 [INFO] 2025-01-06 07:15:09,762 [SessionHandler-u5dif9mj0bf87jli65v1lm3n9-e62-t0] io.openvidu.server.rpc.RpcHandler - Participant con_CREaorPT8T is calling method ‘videoData’ in session ses_AiBAcLhnxU

2025-01-06 15:15:09 [INFO] 2025-01-06 07:15:09,762 [SessionHandler-u5dif9mj0bf87jli65v1lm3n9-e62-t0] io.openvidu.server.core.SessionEventsHandler - Video data of participant con_CREaorPT8T was initialized. height:480, width:640, isVideoActive: true, isAudioActive: true

2025-01-06 15:15:09

2025-01-06 15:15:17 2025-01-06 07:15:17,763 DEBG ‘openvidu-server’ stdout output:

2025-01-06 15:15:17 [INFO] 2025-01-06 07:15:17,763 [SessionHandler-u5dif9mj0bf87jli65v1lm3n9-e62-t0] io.openvidu.server.rpc.RpcHandler - Participant con_CREaorPT8T is calling method ‘videoData’ in session ses_AiBAcLhnxU

2025-01-06 15:15:17 [INFO] 2025-01-06 07:15:17,763 [SessionHandler-u5dif9mj0bf87jli65v1lm3n9-e62-t0] io.openvidu.server.core.SessionEventsHandler - Video data of participant con_CREaorPT8T was initialized. height:480, width:640, isVideoActive: true, isAudioActive: true

2025-01-06 15:15:17

2025-01-06 15:15:25 2025-01-06 07:15:25,748 DEBG ‘openvidu-server’ stdout output:

2025-01-06 15:15:25 [INFO] 2025-01-06 07:15:25,748 [SessionHandler-u5dif9mj0bf87jli65v1lm3n9-e62-t0] io.openvidu.server.rpc.RpcHandler - Participant con_CREaorPT8T is calling method ‘videoData’ in session ses_AiBAcLhnxU

2025-01-06 15:15:25 [INFO] 2025-01-06 07:15:25,748 [SessionHandler-u5dif9mj0bf87jli65v1lm3n9-e62-t0] io.openvidu.server.core.SessionEventsHandler - Video data of participant con_CREaorPT8T was initialized. height:480, width:640, isVideoActive: true, isAudioActive: true

2025-01-06 15:15:25

2025-01-06 15:15:31 2025-01-06 07:15:31,526 DEBG ‘openvidu-server’ stdout output:

2025-01-06 15:15:31 [ERROR] 2025-01-06 07:15:31,526 [https-jsse-nio-0.0.0.0-4443-exec-6] io.openvidu.server.recording.service.RecordingService - Recording start failed for session ses_AiBAcLhnxU: Couldn’t initialize recording container. Error: File /opt/openvidu/recordings/ses_AiBAcLhnxU/ses_AiBAcLhnxU.mp4 does not exist and hasn’t been created in 30 seconds

2025-01-06 15:15:31

2025-01-06 15:15:31 2025-01-06 07:15:31,527 DEBG ‘openvidu-server’ stdout output:

2025-01-06 15:15:31 [ERROR] 2025-01-06 07:15:31,527 [https-jsse-nio-0.0.0.0-4443-exec-6] io.openvidu.server.utils.CustomFileManager - Couldn’t overwrite file /opt/openvidu/recordings/ses_AiBAcLhnxU/.recording.ses_AiBAcLhnxU. Error: /opt/openvidu/recordings/ses_AiBAcLhnxU/.recording.ses_AiBAcLhnxU (No such file or directory)

2025-01-06 15:15:31 [INFO] 2025-01-06 07:15:31,527 [https-jsse-nio-0.0.0.0-4443-exec-6] io.openvidu.server.recording.service.ComposedRecordingService - Stopping composed (video + audio) recording ses_AiBAcLhnxU of session ses_AiBAcLhnxU. Reason: null