diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedQuickStartRecordingService.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedQuickStartRecordingService.java index 7c3386ef..6648c80e 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedQuickStartRecordingService.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedQuickStartRecordingService.java @@ -228,7 +228,7 @@ public class ComposedQuickStartRecordingService extends ComposedRecordingService List binds = new ArrayList<>(); binds.add(bind1); containerId = dockerManager.runContainer(properties.mediaNode(), container, containerName, null, volumes, - binds, "host", envs, null, properties.shmSize(), false, null, + binds, "host", envs, null, properties.shmSize(), false, null, true, openviduConfig.isOpenviduRecordingGPUEnabled()); this.sessionsContainers.put(session.getSessionId(), containerId); } catch (Exception e) { diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java index e8f2639f..5df4e85f 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java @@ -164,7 +164,7 @@ public class ComposedRecordingService extends RecordingService { List binds = new ArrayList<>(); binds.add(bind1); containerId = dockerManager.runContainer(properties.mediaNode(), container, containerName, null, volumes, - binds, "host", envs, null, properties.shmSize(), false, null, + binds, "host", envs, null, properties.shmSize(), false, null, true, openviduConfig.isOpenviduRecordingGPUEnabled()); } catch (Exception e) { this.cleanRecordingMaps(recording); diff --git a/openvidu-server/src/main/java/io/openvidu/server/utils/DockerManager.java b/openvidu-server/src/main/java/io/openvidu/server/utils/DockerManager.java index 80e600bd..2ba06a73 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/utils/DockerManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/utils/DockerManager.java @@ -13,7 +13,8 @@ public interface DockerManager { public String runContainer(String mediaNodeId, String image, String containerName, String user, List volumes, List binds, String networkMode, List envs, List command, - Long shmSize, boolean privileged, Map labels, boolean enableGPU) throws Exception; + Long shmSize, boolean privileged, Map labels, boolean autoremove, boolean enableGPU) + throws Exception; public void removeContainer(String mediaNodeId, String containerId, boolean force); diff --git a/openvidu-server/src/main/java/io/openvidu/server/utils/LocalDockerManager.java b/openvidu-server/src/main/java/io/openvidu/server/utils/LocalDockerManager.java index c048a443..2fcdedbe 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/utils/LocalDockerManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/utils/LocalDockerManager.java @@ -127,7 +127,8 @@ public class LocalDockerManager implements DockerManager { @Override public String runContainer(String mediaNodeId, String image, String containerName, String user, List volumes, List binds, String networkMode, List envs, List command, - Long shmSize, boolean privileged, Map labels, boolean enableGPU) throws Exception { + Long shmSize, boolean privileged, Map labels, boolean autoremove, boolean enableGPU) + throws Exception { CreateContainerCmd cmd = dockerClient.createContainerCmd(image).withEnv(envs); if (containerName != null) { @@ -138,7 +139,8 @@ public class LocalDockerManager implements DockerManager { cmd.withUser(user); } - HostConfig hostConfig = new HostConfig().withNetworkMode(networkMode).withPrivileged(privileged); + HostConfig hostConfig = new HostConfig().withNetworkMode(networkMode).withPrivileged(privileged) + .withAutoRemove(autoremove); if (shmSize != null) { hostConfig.withShmSize(shmSize); }