Skip to content

🐳 An automated workflow for containerizing SideFX Houdini installations with Docker

License

Notifications You must be signed in to change notification settings

aaronsmithtv/Houdini-Docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hbuild Logo Houdini-Docker

Autobuild Docker Hub Docker Pulls

Houdini Production Build Docker Image

Houdini-Docker is a project that automatically builds and pushes Docker images for the latest production build of SideFX Houdini. This project ensures you always have an up-to-date Docker image for Houdini, making it easier to create and deploy containerized environments for your 3D graphics projects.

Note: All Hbuild images are currently built with linux_x86_64 production builds. To build an image with an alternate instruction set, see the hinstall README.


Why choose Houdini-Docker?

  • Houdini-Docker offers a trustworthy source of Houdini installation images for security-conscious studios. All workflow runs are publicly visible for transparency.
  • Images generated by Houdini-Docker are approximately 65% smaller than the most popular Houdini installation images, saving storage space and improving deployment speed.
  • Keep up-to-date with the latest production builds within your Dockerfile, without the need for executing pipeline scripts.
  • Simplify the installation process by eliminating standard manual download and install workflows.
  • Houdini-Docker provides an out-of-the-box CI/CD workflow for testing Houdini processes in a containerized environment.

Whether you're new to Python, Docker, or Houdini, this README aims to provide you with friendly, helpful, and informative instructions to get you started with Hbuild.

Table of Contents

Using Hbuild Images

If you want to get started quickly with using Houdini-Docker images, follow these simple steps:

  1. Ensure you have Docker installed and running on your system.

  2. Open a terminal (Command Prompt, PowerShell, or Terminal, depending on your operating system).

  3. Pull the most recently generated Houdini image by running the following command:

    docker pull aaronsmithtv/hbuild:latest
  4. To create and run a container from the pulled image, execute the following command:

    docker run -it --name houdini-container --rm aaronsmithtv/hbuild:latest
  5. Now, you can use Houdini within the container by running the appropriate command for your desired Houdini application, with a default PATH environment variable configured to allowing you to launch processes such as hserver, hython, or sesinetd.

    Using the hserver command, you can use your SideFX API credentials to bypass a manual login, enabling automated license server connections directly to the online licensing platform. (authorization-code credentials only)

    Keep in mind that your --host argument should point to whatever license server you currently use. If you are unsure, check the Server Name column in the Server Information tab of your Houdini License Administrator.

    hserver --clientid "..." --clientsecret "..." --host "https://www.sidefx.com/license/sesinetd"
  6. After the hserver daemon is initialized, you can use sesictrl, the command line license server utility to log in. A username and password isn't needed as your API credentials should now replace this in Houdini 20.5. A successful login displays a short message.

    >>> sesictrl login
    You are logged in with aaronsmithtv (account: 51443, company: aaronsmith.tv)
  7. Now that your license server is set up, you should be able to use processes like Hython in the interactive Docker image command line, which allows you to operate a Houdini scene through Python through the Houdini Object Model (HOM).

    >>> hython
    Python 3.11.7 (main, Feb 22 2024, 17:25:45) [GCC 9.3.1 20200408 (Red Hat 9.3.1-2)] on linux
    Houdini 20.5.278 hou module imported.
    Type "help", "copyright", "credits" or "license" for more information.
  8. When you're finished, exit Hython by executing exit(), or exit the container by typing exit and pressing Enter.

For an example process on how to launch a test hserver instance (to verify your remote license server can be contacted), you can also view the hinstall README.

Features

  • Automatically checks for the latest Houdini production build every day at midnight.
  • Pytest workflows check that the online SideFX license server sesinetd can be reached from within a container
  • Additional workflow dependencies check that the Hbuild Docker image is functional by running Hython test processes.
  • Builds a Docker image with the latest Houdini build.
  • Pushes the new image to Docker Hub with the build tag and as the latest image.

License

This project is released under the MIT License.

All Hbuild or Houdini-Docker generated Docker images are built and distributed with and under the terms of their specified Houdini End User License Agreement (EULA) date (as of October 13, 2021). You must be aware of the EULA terms and conditions when using this image. By using this image, you agree to abide by the terms and conditions of the Houdini EULA.

Thank You

A special thank you to all of those who contribute, create issues, talk about and use Houdini-Docker. I would have never anticipated the awesome amount of support and feedback I've received since starting this project, and I hope, with your support, to continue to help anyone trying to containerize their favourite DCC for many years to come!

About

🐳 An automated workflow for containerizing SideFX Houdini installations with Docker

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published