Files
opensim-docker/image-opensim/README.md
T
Robert Adams 479aa9114a Rename the configuration directories to "config-${CONFIG_NAME}"
to make the configuration directories clearer and easier to understand.
2022-02-05 20:42:18 +00:00

2.6 KiB

This builds various configurations of OpenSimulator for running same in a Docker container. The Docker image that is built can include several different runtime configurations or the OpenSimulator configuration can be completely replaced at runtime.

OpenSimulator Image

This builds the latest 'master' version of OpenSimulator into a Docker image. The resulting Docker image has scripts to run, log, and keep running the OpenSimulator instance. The image starts at /usr/opensim/bootOpenSim.sh which checks for initial setup conditions and then runs /usr/opensim/run.opensim.sh which starts OpenSimulator using screen.

OpenSimulator Configuration

The OpenSimulator setup has a specialized configuration setup. This configuration setup has:

  • the default OpenSimDefault.ini and OpenSim.ini in place
  • all of the usual config-include files nulled out (empty)
  • a bin/config/os-config file that defines the environment variable 'CONFIG_NAME' which selects the runtime configuration
  • the default 'CONFIG_NAME' is 'standalone'
  • a set of scripts in 'bin/config' that does the simulation/region configuration

/usr/opensim/bootOpenSim.sh calls bin/config/setup.sh to configure this particular OpenSimulator instance. setup.sh is called everytime the Docker image is started. setup.sh uses os-config to define the environment variable CONFIG_NAME and then uses the information in the same named sub-directory to setup the configuration files for OpenSimulator.

bin/config/config-$CONFIG_NAME/Includes.ini is copied into bin/config. This will be read by OpenSimulator on startup and replaces all of the usual configuration includes. There will usually be a bin/config/$CONFIG_NAME/config-includes that models the usual OpenSimulator configuration directory.

This configuration design means that the complete OpenSimulator setup and runtime configuration can be replaced by replacing the directory /usr/opensim/opensim/bin/config. This allows mounting a configuration directory for the Docker container to completely replace the setup and configuration.

Note that there are secrets needed to configure and run OpenSimulator. If you wish the passwords to be protected, their definition file can be encrypted with ccrypt. Read the comments in config/os-secrets for how to encrypt secrets. The container is initially run with the 'CONFIGKEY' environment variable which is the key for decrypting the secrets file.

Building and Running

See the main page README for instructions for building and running.