Sign inSign up

opencue/rqd

By opencue

•Updated 9 days ago

The OpenCue RQD render client daemon

Image
3

10K+

opencue/rqd repository overview

⁠OpenCue RQD

OpenCue⁠ is an open source render management system for visual effects and animation production, hosted by the Academy Software Foundation⁠.

RQD (Render Queue Daemon) runs on each render host. It reports the host's resources to Cuebot, receives frames from it, runs them, monitors their CPU and memory, writes their logs, and reports when they finish. This image ships openrqd, the Rust implementation of RQD.

⁠Tags

TagDescription
latestMost recent OpenCue release
<version> (for example 1.37.0)A specific release. Pin this in production and match your Cuebot version

Release notes: https://github.com/AcademySoftwareFoundation/OpenCue/releases⁠

⁠Quick start

You need a running Cuebot (see opencue/cuebot⁠).

docker run -d --name rqd \
  --hostname "$(hostname)" \
  -p 8444:8444 \
  -e OPENRQD__GRPC__CUEBOT_ENDPOINTS=<cuebot-host>:8443 \
  -e OPENRQD__MACHINE__FACILITY=local \
  -v /shots:/shots \
  opencue/rqd

The host should show up in CueGUI or OpenCueWeb under its hostname within a few seconds.

For a complete local farm (database, Cuebot, RQD, OpenCueWeb, REST Gateway, and optional monitoring), use the docker-compose.yml sandbox in the repository. See the RQD deployment guide⁠.

⁠Things to know

  • Frames run inside this container. Commands launched by Cuebot run in the RQD container, so the renderers and tools your jobs call must be installed in the image or mounted in. Most production farms either build their own image on top of this one or run openrqd directly on the host.
  • Shared storage paths must match. Frame logs and job files are read and written at the paths Cuebot and your submitters use (for example /shots). Mount the shared filesystem at the same path inside the container. Cuebot's CUE_FRAME_LOG_DIR has to point at the same root.
  • Host identity. RQD registers under the container hostname. Set --hostname, or set OPENRQD__MACHINE__USE_IP_AS_HOSTNAME=true. Cuebot must be able to reach the host on port 8444.
  • Frame recovery. RQD keeps snapshots of running frames so it can reattach to them after a restart. Mount a volume at the snapshots path (runner.snapshots_path, default $HOME/.rqd/snapshots) to keep them across container replacements.
  • Resources. Reported cores and memory are what the container sees. Use Docker's --cpus / --memory limits, or none, accordingly.

⁠Configuration

RQD reads a YAML file and then applies OPENRQD__* environment variables on top of it. __ separates nesting levels and , separates list items.

  • Config file: set OPENCUE_RQD_CONFIG=/path/in/container/rqd.yaml and mount the file. Default: ~/.local/share/rqd.yaml, optional.
  • Fully commented reference config: rust/config/rqd.yaml⁠
Environment variableDefaultPurpose
OPENRQD__GRPC__CUEBOT_ENDPOINTSlocalhost:8443Cuebot gRPC endpoints (comma-separated for failover)
OPENRQD__GRPC__RQD_PORT8444Port RQD listens on for Cuebot
OPENRQD__MACHINE__FACILITYcloudFacility the host belongs to
OPENRQD__MACHINE__USE_IP_AS_HOSTNAMEfalseRegister by IP instead of hostname
OPENRQD__LOGGING__LEVELdebugdebug, info, warning, or error
OPENRQD__RUNNER__RUN_ON_DOCKERfalseRun each frame in its own Docker container (needs the Docker socket)

⁠Ports and volumes

8444/tcpgRPC endpoint Cuebot uses to launch, kill, and query frames
shared storage (e.g. /shots)Job files and frame logs, at the same path Cuebot uses
snapshots pathOptional, for frame recovery across restarts

⁠License

Apache License 2.0. See LICENSE⁠.

Tag summary

Content type

Image

Digest

sha256:dbefcb9de…

Size

36.3 MB

Last updated

9 days ago

docker pull opencue/rqd