How to set up auto-start for `DiffDock` NIM when using Docker as the deployment method?

Hello folks,

I’ve deployed DiffDock NIM using the Docker method on a VM. When I run the container using the command available in the NVIDIA documentation, it works:

bash

# Command from NVIDIA documentation
docker run -it --rm \
    --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=0 \
    --shm-size=2G \
    --ulimit memlock=-1 \
    --ulimit stack=67108864 \
    -e NGC_API_KEY=$NGC_API_KEY \
    -p 8000:8000 \
    nvcr.io/nim/mit/diffdock:2.0.0

However, this is a manual approach and requires SSHing into the VM each time. I’m looking for an auto-start method, so I changed the command as follows:

bash

# Modified command for auto-start
docker run -d \
    --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=0 \
    --shm-size=2G \
    --ulimit memlock=-1 \
    --ulimit stack=67108864 \
    -e NGC_API_KEY=$NGC_API_KEY \
    -p 8000:8000 \
    --restart unless-stopped \
    nvcr.io/nim/mit/diffdock:2.0.0

The first time it works, but when I restart the VM, it doesn’t work. When I run $ docker ps, I can see the container constantly restarting. I’ve checked the logs using $ docker logs <Container ID> and saw that a script intends to create a new directory. However, as it identifies that the directory already exists, it returns a failure and exits the process.

My question is: What is the appropriate way to set up DiffDock for auto-start without encountering such issues?

Thank you!