I'm super excited to share with you a project I've been working on called Houdini-Docker [github.com]; An open-source automation utility designed to make containerizing Houdini simple & easy.
Here's why you might want to check out Houdini-Docker:
- It provides an alternative to the current standard workflow, which involves manual installation and Dockerfile configuration.
- It offers a trustworthy source of Houdini installation images for those who need security, on Docker Hub [hub.docker.com]; As 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 future Dockerfiles, without the need for executing pipeline scripts.
- Daily checks for the latest production builds, so new builds will always be available on Docker Hub within 24 hours.
All standard base images come with a full Houdini installation built on Debian 11 slim. The PATH environment variable is set for easy access to processes such as hython and hserver.
Quick-Start:
To get started with the most recent production build, just execute the following: (requires a Docker installation)
1. Pull the latest production build image (19.5.569-base as of 30/03/2023)
docker pull aaronsmithtv/hbuild:latest
2. Run a temporary container from the pulled image
docker run -it --rm --name houdini-container aaronsmithtv/hbuild:latest
3. Start a sesinetd instance (The command line Houdini license server), and verify that you have license entitlements with sesictrl (The command line equivalent of HKey)
sesinetd sesictrl redeem
You should receive a prompt to enter your SideFX account credentials, and upon logging in, a list of license entitlements. Type q to quit the license utility and exit to close the container.
If you have specific requirements, such as another Linux distro, or you have more granular requirements for packages, builds, etc, simply forking the repository will enable the auto-build GitHub actions workflow to work with whatever additions you make.
I want to use Houdini-Docker, but I don't know what for!
Many studios will likely have their own CICD [about.gitlab.com] workflows that implement similar processes - but for those who are undergoing the task of deploying Houdini in some way, for example to a cloud platform, or as a license sever, it can be difficult to maintain a tool such as this (especially when many products are being juggled). Houdini-Docker aims to alleviate the difficulties in automating a highly customizable Houdini build process using Docker, while Hbuild is a repository for pre-built Houdini installation images based on Debian.
Here are some ideas for projects you can try out using a Houdini-Docker image:
- A non-graphical Houdini instance as a web server using hwebserver [www.sidefx.com]
- A containerized license utility
- A containerized hqueue client
I'd love to hear your thoughts, feedback, and any ideas you might have. If you need any specific builds just let me know, and I'll add them to the Docker Hub repository. PRs and issues on GitHub are totally welcome!
You can find Houdini-Docker on GitHub here: https://github.com/aaronsmithtv/houdini-docker [github.com]
You can find the image repository Hbuild here: https://hub.docker.com/r/aaronsmithtv/hbuild [hub.docker.com]