Giter Site home page Giter Site logo

deadline-docker's Introduction

Deadline Test Lab

Deadline, but dockerized!

Rationale

This is mostly for testing and evaluation purposes. It has all the major components for Deadline to function

  • MongoDB
  • Repository installer
  • Remote Connection Server (RCS)
  • Web Service

There is no security of any description, no protection on the database, no tls on the client connection etc.

Getting Started

You will need to download the linux installers from the Thinkbok website. They are not included here.

Extract the installers and place the DeadlineClient-10.*.*.*-linux-x64-installer.run in the client directory and DeadlineRepository-*.*.*.*-linux-x64-installer.run in the repository directory.

The whole stack can be spun up with:

docker-compose up -d

Once the database is up and the repository is installed, the RCS will be available on port 8080 and the webservice will be available on port 8082. These are the default ports in both cases.

The repository container will exit successully when the installer finishes. At that point its job is done.

Configuration

Basic

The current configuration is completely ephemeral by design. docker-compose down -v will wipe the whole thing.

You may want to persist the database and / or the repository to disk, or connect the RCS / Webservice to an existing repository. In this case you'll want to change the volume mounts to bind mounts:

    volumes:
      - type: volume
        source: repo
        target: /repo

becomes:

    volumes:
      - type: bind
        source: /path/to/repo
        target: /repo

Repository

All the repository install commandline options can provided as environment variables.

Prefix the option with dl_, for example:

./DeadlineRepository-10.1.14.4-linux-x64-installer.run \
    --prefix /repo \
    --mode unattended \
    --debuglevel 4

Is expressed as:

    environment:
      dl_prefix: "/repo"
      dl_mode: "unattended"
      dl_debuglevel: "4"

The repository installer script will check for the existance of /repo/settings/repository.ini. If it exists, it will skip the installation. Delete this file, or blow away the volume, if you want a clean build.

Client

On Linux, the Deadline clients pull their configuration from /var/lib/Thinkbox/Deadline10/deadline.ini, this is normally configured when the client is installed. The Dockerfile provided only installs the binaries and the deadline.ini file is created when the container starts. As with the repository, prefix the configuration option with dl_.

[Deadline]
LicenseMode=Free
LicenseServer=
Region=
LauncherListeningPort=17000
LauncherServiceStartupDelay=60
AutoConfigurationPort=17001
SlaveStartupPort=17003
SlaveDataRoot=
RestartStalledSlave=false
NoGuiMode=true
LaunchSlaveAtStartup=false
AutoUpdateOverride=
ConnectionType=Repository
NetworkRoot=/repo
DbSSLCertificate=

Becomes:

    environment:
      dl_LicenseMode: "Free"
      dl_LicenseServer: ""
      dl_Region: ""
      dl_LauncherListeningPort: "17000"
      dl_LauncherServiceStartupDelay: "60"
      dl_AutoConfigurationPort: "17001"
      dl_SlaveStartupPort: "17003"
      dl_SlaveDataRoot: ""
      dl_RestartStalledSlave: "false"
      dl_NoGuiMode: "true"
      dl_LaunchSlaveAtStartup: "false"
      dl_AutoUpdateOverride: ""
      dl_ConnectionType: "Repository"
      dl_NetworkRoot: "/repo"
      dl_DbSSLCertificate: ""

deadline-docker's People

Contributors

jdmacd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

deadline-docker's Issues

Install fails with newer deadline versions

Install of the client fails, i fixed it by changing the client/Dockerfile

  1. make sure libssl-dev is installed in the container, this is allready in the repo dockerfile but not in the client

  2. for some reason its trying to chmod /opt/Thinkbox/Deadline10/Uninstall*.desktop

i dont care about the uninstaller so i just created a dummy file so it doesnt error.

FROM ubuntu:focal

RUN apt-get update -y && apt-get install libssl-dev -y
COPY DeadlineClient-*-linux-x64-installer.run DeadlineClient-installer.run
RUN mkdir -p /opt/Thinkbox/Deadline10
RUN touch /opt/Thinkbox/Deadline10/Uninstall*.desktop
RUN chmod u+x DeadlineClient-installer.run && \
        ./DeadlineClient-installer.run \
        --binariesonly true \
        --mode unattended

FROM ubuntu:focal
# RUN apt-get update -y && apt-get install curl -y
COPY --from=0 /opt/Thinkbox /opt/Thinkbox
COPY run.sh .

CMD ["./run.sh","deadline.exe"]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.