version: "3.5" # The Scrypted docker-compose.yml file typically resides at: # ~/.scrypted/docker-compose.yml # Example volumes SMB (CIFS) and NFS. # Uncomment only one. # volumes: # nvr: # driver_opts: # type: cifs # o: username=[username],password=[password],vers=3.0,file_mode=0777,dir_mode=0777 # device: //[ip-address]/[path-to-directory] # nvr: # driver_opts: # type: "nfs" # o: "addr=[ip-address],nolock,soft,rw" # device: ":[path-to-directory]" services: scrypted: image: koush/scrypted environment: - SCRYPTED_WEBHOOK_UPDATE_AUTHORIZATION=Bearer SET_THIS_TO_SOME_RANDOM_TEXT - SCRYPTED_WEBHOOK_UPDATE=http://localhost:10444/v1/update # nvidia support # - NVIDIA_VISIBLE_DEVICES=all # - NVIDIA_DRIVER_CAPABILITIES=all # runtime: nvidia container_name: scrypted restart: unless-stopped network_mode: host devices: # hardware accelerated video decoding, opencl, etc. - /dev/dri:/dev/dri # uncomment below as necessary. # zwave usb serial device # - /dev/ttyACM0:/dev/ttyACM0 # all usb devices, such as coral tpu # - /dev/bus/usb:/dev/bus/usb volumes: - ~/.scrypted/volume:/server/volume # modify and add the additional volume for Scrypted NVR # the following example would mount the /mnt/sda/video path on the host # to the /nvr path inside the docker container. # - /mnt/sda/video:/nvr # or use a network mount from one of the examples above # - type: volume # source: nvr # target: /nvr # volume: # nocopy: true # uncomment the following lines to expose Avahi, an mDNS advertiser. # make sure Avahi is running on the host machine, otherwise this will not work. # - /var/run/dbus:/var/run/dbus # - /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket # logging is noisy and will unnecessarily wear on flash storage. # scrypted has per device in memory logging that is preferred. logging: driver: "json-file" options: max-size: "10m" max-file: "10" labels: - "com.centurylinklabs.watchtower.scope=scrypted" # watchtower manages updates for Scrypted. watchtower: environment: - WATCHTOWER_HTTP_API_TOKEN=SET_THIS_TO_SOME_RANDOM_TEXT - WATCHTOWER_HTTP_API_UPDATE=true - WATCHTOWER_SCOPE=scrypted # remove the following line to never allow docker to auto update. # this is not recommended. - WATCHTOWER_HTTP_API_PERIODIC_POLLS=true image: containrrr/watchtower container_name: scrypted-watchtower restart: unless-stopped volumes: - /var/run/docker.sock:/var/run/docker.sock labels: - "com.centurylinklabs.watchtower.scope=scrypted" ports: # The auto update port 10444 can be configured # Must match the port in the auto update url above. - 10444:8080 # check for updates once an hour (interval is in seconds) command: --interval 3600 --cleanup --scope scrypted