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.
If you want to get started quickly with using Houdini-Docker images, follow these simple steps:
-
Ensure you have Docker installed and running on your system.
-
Open a terminal (Command Prompt, PowerShell, or Terminal, depending on your operating system).
-
Pull the most recently generated Houdini image by running the following command:
docker pull aaronsmithtv/hbuild:latest
-
To create and run a container from the pulled image, execute the following command:
docker run -it --name houdini-container --rm aaronsmithtv/hbuild:latest
-
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 ashserver
,hython
, orsesinetd
.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"
-
After the
hserver
daemon is initialized, you can usesesictrl
, 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)
-
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.
-
When you're finished, exit Hython by executing
exit()
, or exit the container by typingexit
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.
- 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.
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.
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!