Sign inSign up

opencue/cuebot

By opencue

•Updated 9 days ago

The OpenCue Cuebot

Image
2

10K+

opencue/cuebot repository overview

⁠OpenCue Cuebot

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

Cuebot is the OpenCue server. It stores jobs, layers, and frames in PostgreSQL, schedules frames onto render hosts running RQD, and serves the gRPC API used by CueGUI, OpenCueWeb, the REST Gateway, PyCue, and the command-line tools.

⁠Tags

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

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

⁠Quick start

Cuebot needs a PostgreSQL database with the OpenCue schema applied.

1. Start PostgreSQL

docker network create opencue

docker run -d --name opencue-db --network opencue \
  -e POSTGRES_USER=cuebot \
  -e POSTGRES_PASSWORD=cuebot_password \
  -e POSTGRES_DB=cuebot \
  postgres:16

2. Apply the schema

Cuebot does not migrate the database itself. Apply the Flyway migrations from the source tree (cuebot/src/main/resources/conf/ddl/postgres/migrations) for the release you're running:

git clone --branch v1.37.0 --depth 1 https://github.com/AcademySoftwareFoundation/OpenCue.git

docker run --rm --network opencue \
  -v "$PWD/OpenCue/cuebot/src/main/resources/conf/ddl/postgres/migrations:/flyway/sql" \
  flyway/flyway \
  -url=jdbc:postgresql://opencue-db/cuebot -user=cuebot -password=cuebot_password migrate

3. Start Cuebot

docker run -d --name cuebot --network opencue \
  -p 8443:8443 -p 8080:8080 \
  -e CUE_FRAME_LOG_DIR=/shots/logs \
  opencue/cuebot \
  --datasource.cue-data-source.jdbc-url=jdbc:postgresql://opencue-db/cuebot \
  --datasource.cue-data-source.username=cuebot \
  --datasource.cue-data-source.password=cuebot_password

Point RQD hosts and clients at <cuebot-host>:8443.

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 deployment guide⁠.

⁠Configuration

Any Cuebot property can be passed as a --key=value argument after the image name. This overrides the defaults in opencue.properties⁠.

SettingDefaultPurpose
--datasource.cue-data-source.jdbc-url—PostgreSQL JDBC URL (required)
--datasource.cue-data-source.username / .password—Database credentials (required)
--log.frame-log-root.default_os or env CUE_FRAME_LOG_DIR/shotsRoot path where RQD writes frame logs, as seen by the render hosts
--metrics.prometheus.collector=truefalseExpose Prometheus metrics at :8080/metrics
env CUEBOT_GRPC_CUE_PORT8443gRPC port for clients and RQD reports
env CUEBOT_GRPC_RQD_SERVER_PORT8444Port Cuebot uses to reach RQD on render hosts

⁠Ports and volumes

8443/tcpgRPC API (clients, RQD host reports)
8080/tcpHTTP: Spring Boot endpoints and Prometheus /metrics
/opt/opencue/logsCuebot log volume

The image includes a healthcheck that calls the gRPC GetSystemStats method on port 8443.

⁠Upgrading

Back up the database, apply the new release's migrations, then replace the container. Check the release notes for migrations that should be built out-of-band on large tables (for example, CREATE INDEX CONCURRENTLY).

⁠License

Apache License 2.0. See LICENSE⁠.

Tag summary

Content type

Image

Digest

sha256:3b046a90c…

Size

385.3 MB

Last updated

9 days ago

docker pull opencue/cuebot