Public | Automated Build

Last pushed: 3 days ago
Short Description
Full Description


This repo provides a container for OpenStudio as well as several dependencies, including Ruby 2.x, Bundler, build-essentials and various development libraries for gem support.


The two supported use cases for this repo are building and executing the OpenStudio docker container, respectively. Each will be addressed in turn.


Begin by installing the docker tool-kit version 17.03.1 or later, as described in the linked documentation. Once the tool-kit is installed and activated, run the command docker build .. This will initiate the build process for the docker container. Any updates to this process should be implemented through the Dockerfile in the root of this repo.


There are two options to acquire the docker container required for execution. Both assume that the docker tool-kit version 17.03.1 or later is installed. The first option, building the container from a GitHub checkout, is outlined above. Additionally, it is typically easiest to tag the resulting container as nrel/openstudio:latest. For a more extensive discussion of the latest tag and associated best practices please refer to this Medium article. The second option, downloading a release from DockerHub, requires determining the docker-openstudio tagged release that is desired, and then running docker pull nrel/openstudio:<tag>. As an example, to download the 2.1.1 docker-openstudio image, the command would be docker pull nrel/openstudio:2.1.1.

Once the desired container is available, either through a build or pull process, the next step is to run the container. To simply access the container tagged with 'tag', (where tag was respectively 'latest' or '2.1.1' in the above paragraph,) run docker run -it --rm nrel/openstudio:tag /bin/bash.

To execute an OpenStudio Workflow directly from the command line requires mounting the requisite files to the container, as well as invoking the OpenStudio CLI (command line interface.) The docker container by default executes commands in the /var/simdata/openstudio directory, (this is defined in the Dockerfile.) If the desired OSW was located at /Users/myuser/demo_os_files/example.osw on the host computer, the appropriate docker command to execute the OSW would be docker run -it --rm -v=/Users/myuser/demo_os_files:/var/simdata/openstudio nrel/openstudio openstudio run -w example.osw

If gem dependencies are required as part of the CLI outside of those packed with OpenStudio please contact Kyle Benne, Ry Horsey, and Dan Macumber at their NREL email addresses.

Known Issues

Please submit issues on the project's Github page.

Docker Pull Command
Source Repository