diff --git a/opensim-herbal3d/config-include/FlotsamCache.ini b/config-include-overlay/FlotsamCache.ini similarity index 100% rename from opensim-herbal3d/config-include/FlotsamCache.ini rename to config-include-overlay/FlotsamCache.ini diff --git a/opensim-standalone/config-include/Grid.ini b/config-include-overlay/Grid.ini similarity index 100% rename from opensim-standalone/config-include/Grid.ini rename to config-include-overlay/Grid.ini diff --git a/opensim-standalone/config-include/GridCommon.ini b/config-include-overlay/GridCommon.ini similarity index 100% rename from opensim-standalone/config-include/GridCommon.ini rename to config-include-overlay/GridCommon.ini diff --git a/opensim-standalone/config-include/GridHypergrid.ini b/config-include-overlay/GridHypergrid.ini similarity index 100% rename from opensim-standalone/config-include/GridHypergrid.ini rename to config-include-overlay/GridHypergrid.ini diff --git a/opensim-standalone/config-include/README.md b/config-include-overlay/README.md similarity index 100% rename from opensim-standalone/config-include/README.md rename to config-include-overlay/README.md diff --git a/opensim-herbal3d/config-include/Standalone.ini b/config-include-overlay/Standalone.ini similarity index 100% rename from opensim-herbal3d/config-include/Standalone.ini rename to config-include-overlay/Standalone.ini diff --git a/opensim-herbal3d/config-include/StandaloneCommon.ini b/config-include-overlay/StandaloneCommon.ini similarity index 100% rename from opensim-herbal3d/config-include/StandaloneCommon.ini rename to config-include-overlay/StandaloneCommon.ini diff --git a/opensim-standalone/config-include/StandaloneHypergrid.ini b/config-include-overlay/StandaloneHypergrid.ini similarity index 100% rename from opensim-standalone/config-include/StandaloneHypergrid.ini rename to config-include-overlay/StandaloneHypergrid.ini diff --git a/opensim-standalone/config-include/osslDefaultEnable.ini b/config-include-overlay/osslDefaultEnable.ini similarity index 100% rename from opensim-standalone/config-include/osslDefaultEnable.ini rename to config-include-overlay/osslDefaultEnable.ini diff --git a/opensim-herbal3d/config-include/osslEnable.ini b/config-include-overlay/osslEnable.ini similarity index 100% rename from opensim-herbal3d/config-include/osslEnable.ini rename to config-include-overlay/osslEnable.ini diff --git a/opensim-herbal3d/config-include/storage/SQLiteStandalone.ini b/config-include-overlay/storage/SQLiteStandalone.ini similarity index 100% rename from opensim-herbal3d/config-include/storage/SQLiteStandalone.ini rename to config-include-overlay/storage/SQLiteStandalone.ini diff --git a/opensim-herbal3d/Dockerfile-basiljs b/image-opensim-herbal3d/Dockerfile-basiljs similarity index 100% rename from opensim-herbal3d/Dockerfile-basiljs rename to image-opensim-herbal3d/Dockerfile-basiljs diff --git a/opensim-herbal3d/Dockerfile-herbal3d b/image-opensim-herbal3d/Dockerfile-herbal3d similarity index 100% rename from opensim-herbal3d/Dockerfile-herbal3d rename to image-opensim-herbal3d/Dockerfile-herbal3d diff --git a/opensim-herbal3d/README.md b/image-opensim-herbal3d/README.md similarity index 100% rename from opensim-herbal3d/README.md rename to image-opensim-herbal3d/README.md diff --git a/opensim-herbal3d/build-basil.sh b/image-opensim-herbal3d/build-basil.sh similarity index 100% rename from opensim-herbal3d/build-basil.sh rename to image-opensim-herbal3d/build-basil.sh diff --git a/opensim-herbal3d/build-herbal3d.sh b/image-opensim-herbal3d/build-herbal3d.sh similarity index 100% rename from opensim-herbal3d/build-herbal3d.sh rename to image-opensim-herbal3d/build-herbal3d.sh diff --git a/opensim-standalone/config-include/FlotsamCache.ini b/image-opensim-herbal3d/config-include/FlotsamCache.ini similarity index 100% rename from opensim-standalone/config-include/FlotsamCache.ini rename to image-opensim-herbal3d/config-include/FlotsamCache.ini diff --git a/opensim-herbal3d/config-include/README b/image-opensim-herbal3d/config-include/README similarity index 100% rename from opensim-herbal3d/config-include/README rename to image-opensim-herbal3d/config-include/README diff --git a/opensim-standalone/config-include/Standalone.ini b/image-opensim-herbal3d/config-include/Standalone.ini similarity index 100% rename from opensim-standalone/config-include/Standalone.ini rename to image-opensim-herbal3d/config-include/Standalone.ini diff --git a/opensim-standalone/config-include/StandaloneCommon.ini b/image-opensim-herbal3d/config-include/StandaloneCommon.ini similarity index 100% rename from opensim-standalone/config-include/StandaloneCommon.ini rename to image-opensim-herbal3d/config-include/StandaloneCommon.ini diff --git a/opensim-standalone/config-include/osslEnable.ini b/image-opensim-herbal3d/config-include/osslEnable.ini similarity index 100% rename from opensim-standalone/config-include/osslEnable.ini rename to image-opensim-herbal3d/config-include/osslEnable.ini diff --git a/opensim-standalone/config-include/storage/SQLiteStandalone.ini b/image-opensim-herbal3d/config-include/storage/SQLiteStandalone.ini similarity index 100% rename from opensim-standalone/config-include/storage/SQLiteStandalone.ini rename to image-opensim-herbal3d/config-include/storage/SQLiteStandalone.ini diff --git a/opensim-herbal3d/config/README b/image-opensim-herbal3d/config/README similarity index 100% rename from opensim-herbal3d/config/README rename to image-opensim-herbal3d/config/README diff --git a/opensim-herbal3d/config/os-config b/image-opensim-herbal3d/config/os-config similarity index 100% rename from opensim-herbal3d/config/os-config rename to image-opensim-herbal3d/config/os-config diff --git a/opensim-herbal3d/config/os-secrets b/image-opensim-herbal3d/config/os-secrets similarity index 100% rename from opensim-herbal3d/config/os-secrets rename to image-opensim-herbal3d/config/os-secrets diff --git a/opensim-herbal3d/config/scripts/initializeConfig.sh b/image-opensim-herbal3d/config/scripts/initializeConfig.sh similarity index 100% rename from opensim-herbal3d/config/scripts/initializeConfig.sh rename to image-opensim-herbal3d/config/scripts/initializeConfig.sh diff --git a/opensim-herbal3d/config/scripts/initializeDb.sh b/image-opensim-herbal3d/config/scripts/initializeDb.sh similarity index 100% rename from opensim-herbal3d/config/scripts/initializeDb.sh rename to image-opensim-herbal3d/config/scripts/initializeDb.sh diff --git a/opensim-herbal3d/config/scripts/setEnvironment.sh b/image-opensim-herbal3d/config/scripts/setEnvironment.sh similarity index 100% rename from opensim-herbal3d/config/scripts/setEnvironment.sh rename to image-opensim-herbal3d/config/scripts/setEnvironment.sh diff --git a/opensim-herbal3d/config/scripts/updateConfigFiles.sh b/image-opensim-herbal3d/config/scripts/updateConfigFiles.sh similarity index 100% rename from opensim-herbal3d/config/scripts/updateConfigFiles.sh rename to image-opensim-herbal3d/config/scripts/updateConfigFiles.sh diff --git a/opensim-herbal3d/config/setup.sh b/image-opensim-herbal3d/config/setup.sh similarity index 100% rename from opensim-herbal3d/config/setup.sh rename to image-opensim-herbal3d/config/setup.sh diff --git a/opensim-herbal3d/config/standalone/Includes.ini b/image-opensim-herbal3d/config/standalone/Includes.ini similarity index 100% rename from opensim-herbal3d/config/standalone/Includes.ini rename to image-opensim-herbal3d/config/standalone/Includes.ini diff --git a/opensim-herbal3d/config/standalone/Regions/Regions.ini b/image-opensim-herbal3d/config/standalone/Regions/Regions.ini similarity index 100% rename from opensim-herbal3d/config/standalone/Regions/Regions.ini rename to image-opensim-herbal3d/config/standalone/Regions/Regions.ini diff --git a/opensim-herbal3d/config/standalone/config-include/FlotsamCache.ini b/image-opensim-herbal3d/config/standalone/config-include/FlotsamCache.ini similarity index 100% rename from opensim-herbal3d/config/standalone/config-include/FlotsamCache.ini rename to image-opensim-herbal3d/config/standalone/config-include/FlotsamCache.ini diff --git a/opensim-herbal3d/config/standalone/config-include/Standalone.ini b/image-opensim-herbal3d/config/standalone/config-include/Standalone.ini similarity index 100% rename from opensim-herbal3d/config/standalone/config-include/Standalone.ini rename to image-opensim-herbal3d/config/standalone/config-include/Standalone.ini diff --git a/opensim-herbal3d/config/standalone/config-include/StandaloneCommon.ini b/image-opensim-herbal3d/config/standalone/config-include/StandaloneCommon.ini similarity index 100% rename from opensim-herbal3d/config/standalone/config-include/StandaloneCommon.ini rename to image-opensim-herbal3d/config/standalone/config-include/StandaloneCommon.ini diff --git a/opensim-herbal3d/config/standalone/config-include/StandaloneHypergrid.ini b/image-opensim-herbal3d/config/standalone/config-include/StandaloneHypergrid.ini similarity index 100% rename from opensim-herbal3d/config/standalone/config-include/StandaloneHypergrid.ini rename to image-opensim-herbal3d/config/standalone/config-include/StandaloneHypergrid.ini diff --git a/opensim-herbal3d/config/standalone/config-include/osslEnable.ini b/image-opensim-herbal3d/config/standalone/config-include/osslEnable.ini similarity index 100% rename from opensim-herbal3d/config/standalone/config-include/osslEnable.ini rename to image-opensim-herbal3d/config/standalone/config-include/osslEnable.ini diff --git a/opensim-herbal3d/config/standalone/config-include/storage/SQLiteStandalone.ini b/image-opensim-herbal3d/config/standalone/config-include/storage/SQLiteStandalone.ini similarity index 100% rename from opensim-herbal3d/config/standalone/config-include/storage/SQLiteStandalone.ini rename to image-opensim-herbal3d/config/standalone/config-include/storage/SQLiteStandalone.ini diff --git a/opensim-herbal3d/config/standalone/docker-compose.yml b/image-opensim-herbal3d/config/standalone/docker-compose.yml similarity index 100% rename from opensim-herbal3d/config/standalone/docker-compose.yml rename to image-opensim-herbal3d/config/standalone/docker-compose.yml diff --git a/opensim-herbal3d/config/standalone/misc.ini b/image-opensim-herbal3d/config/standalone/misc.ini similarity index 100% rename from opensim-herbal3d/config/standalone/misc.ini rename to image-opensim-herbal3d/config/standalone/misc.ini diff --git a/opensim-herbal3d/config/standalone/os-secrets.crypt b/image-opensim-herbal3d/config/standalone/os-secrets.crypt similarity index 100% rename from opensim-herbal3d/config/standalone/os-secrets.crypt rename to image-opensim-herbal3d/config/standalone/os-secrets.crypt diff --git a/opensim-herbal3d/config/three/Includes.ini b/image-opensim-herbal3d/config/three/Includes.ini similarity index 100% rename from opensim-herbal3d/config/three/Includes.ini rename to image-opensim-herbal3d/config/three/Includes.ini diff --git a/opensim-herbal3d/config/three/Regions/Regions.ini b/image-opensim-herbal3d/config/three/Regions/Regions.ini similarity index 100% rename from opensim-herbal3d/config/three/Regions/Regions.ini rename to image-opensim-herbal3d/config/three/Regions/Regions.ini diff --git a/opensim-herbal3d/config/three/config-include/FlotsamCache.ini b/image-opensim-herbal3d/config/three/config-include/FlotsamCache.ini similarity index 100% rename from opensim-herbal3d/config/three/config-include/FlotsamCache.ini rename to image-opensim-herbal3d/config/three/config-include/FlotsamCache.ini diff --git a/opensim-herbal3d/config/three/config-include/Standalone.ini b/image-opensim-herbal3d/config/three/config-include/Standalone.ini similarity index 100% rename from opensim-herbal3d/config/three/config-include/Standalone.ini rename to image-opensim-herbal3d/config/three/config-include/Standalone.ini diff --git a/opensim-herbal3d/config/three/config-include/StandaloneCommon.ini b/image-opensim-herbal3d/config/three/config-include/StandaloneCommon.ini similarity index 100% rename from opensim-herbal3d/config/three/config-include/StandaloneCommon.ini rename to image-opensim-herbal3d/config/three/config-include/StandaloneCommon.ini diff --git a/opensim-herbal3d/config/three/config-include/StandaloneHypergrid.ini b/image-opensim-herbal3d/config/three/config-include/StandaloneHypergrid.ini similarity index 100% rename from opensim-herbal3d/config/three/config-include/StandaloneHypergrid.ini rename to image-opensim-herbal3d/config/three/config-include/StandaloneHypergrid.ini diff --git a/opensim-herbal3d/config/three/config-include/osslEnable.ini b/image-opensim-herbal3d/config/three/config-include/osslEnable.ini similarity index 100% rename from opensim-herbal3d/config/three/config-include/osslEnable.ini rename to image-opensim-herbal3d/config/three/config-include/osslEnable.ini diff --git a/opensim-herbal3d/config/three/config-include/storage/SQLiteStandalone.ini b/image-opensim-herbal3d/config/three/config-include/storage/SQLiteStandalone.ini similarity index 100% rename from opensim-herbal3d/config/three/config-include/storage/SQLiteStandalone.ini rename to image-opensim-herbal3d/config/three/config-include/storage/SQLiteStandalone.ini diff --git a/opensim-herbal3d/config/three/docker-compose.yml b/image-opensim-herbal3d/config/three/docker-compose.yml similarity index 100% rename from opensim-herbal3d/config/three/docker-compose.yml rename to image-opensim-herbal3d/config/three/docker-compose.yml diff --git a/opensim-herbal3d/config/three/misc.ini b/image-opensim-herbal3d/config/three/misc.ini similarity index 100% rename from opensim-herbal3d/config/three/misc.ini rename to image-opensim-herbal3d/config/three/misc.ini diff --git a/opensim-herbal3d/run-herbal3d.sh b/image-opensim-herbal3d/run-herbal3d.sh similarity index 100% rename from opensim-herbal3d/run-herbal3d.sh rename to image-opensim-herbal3d/run-herbal3d.sh diff --git a/opensim-herbal3d/scripts/NOOPENSIM b/image-opensim-herbal3d/scripts/NOOPENSIM similarity index 100% rename from opensim-herbal3d/scripts/NOOPENSIM rename to image-opensim-herbal3d/scripts/NOOPENSIM diff --git a/opensim-herbal3d/scripts/bootOpenSim.sh b/image-opensim-herbal3d/scripts/bootOpenSim.sh similarity index 100% rename from opensim-herbal3d/scripts/bootOpenSim.sh rename to image-opensim-herbal3d/scripts/bootOpenSim.sh diff --git a/opensim-herbal3d/scripts/captureCrash.sh b/image-opensim-herbal3d/scripts/captureCrash.sh similarity index 100% rename from opensim-herbal3d/scripts/captureCrash.sh rename to image-opensim-herbal3d/scripts/captureCrash.sh diff --git a/opensim-herbal3d/scripts/checkOldLogFiles.sh b/image-opensim-herbal3d/scripts/checkOldLogFiles.sh similarity index 100% rename from opensim-herbal3d/scripts/checkOldLogFiles.sh rename to image-opensim-herbal3d/scripts/checkOldLogFiles.sh diff --git a/opensim-herbal3d/scripts/checkOpenSim.sh b/image-opensim-herbal3d/scripts/checkOpenSim.sh similarity index 100% rename from opensim-herbal3d/scripts/checkOpenSim.sh rename to image-opensim-herbal3d/scripts/checkOpenSim.sh diff --git a/opensim-herbal3d/scripts/crontab b/image-opensim-herbal3d/scripts/crontab similarity index 100% rename from opensim-herbal3d/scripts/crontab rename to image-opensim-herbal3d/scripts/crontab diff --git a/opensim-herbal3d/scripts/firstTimeSetup.sh b/image-opensim-herbal3d/scripts/firstTimeSetup.sh similarity index 100% rename from opensim-herbal3d/scripts/firstTimeSetup.sh rename to image-opensim-herbal3d/scripts/firstTimeSetup.sh diff --git a/opensim-herbal3d/scripts/run.opensim.sh b/image-opensim-herbal3d/scripts/run.opensim.sh similarity index 100% rename from opensim-herbal3d/scripts/run.opensim.sh rename to image-opensim-herbal3d/scripts/run.opensim.sh diff --git a/opensim-herbal3d/scripts/stopOpenSim.sh b/image-opensim-herbal3d/scripts/stopOpenSim.sh similarity index 100% rename from opensim-herbal3d/scripts/stopOpenSim.sh rename to image-opensim-herbal3d/scripts/stopOpenSim.sh diff --git a/opensim-herbal3d/vimrc b/image-opensim-herbal3d/vimrc similarity index 100% rename from opensim-herbal3d/vimrc rename to image-opensim-herbal3d/vimrc diff --git a/opensim-standalone/Dockerfile-standalone b/image-opensim/Dockerfile-opensim similarity index 100% rename from opensim-standalone/Dockerfile-standalone rename to image-opensim/Dockerfile-opensim diff --git a/opensim-standalone/README.md b/image-opensim/README.md similarity index 100% rename from opensim-standalone/README.md rename to image-opensim/README.md diff --git a/opensim-standalone/build-standalone.sh b/image-opensim/build-opensim.sh similarity index 100% rename from opensim-standalone/build-standalone.sh rename to image-opensim/build-opensim.sh diff --git a/opensim-standalone/config/README b/image-opensim/config/README similarity index 100% rename from opensim-standalone/config/README rename to image-opensim/config/README diff --git a/opensim-standalone/config/os-config b/image-opensim/config/os-config similarity index 100% rename from opensim-standalone/config/os-config rename to image-opensim/config/os-config diff --git a/opensim-standalone/config/os-secrets b/image-opensim/config/os-secrets similarity index 100% rename from opensim-standalone/config/os-secrets rename to image-opensim/config/os-secrets diff --git a/opensim-standalone/config/scripts/initializeDb.sh b/image-opensim/config/scripts/initializeDb.sh similarity index 100% rename from opensim-standalone/config/scripts/initializeDb.sh rename to image-opensim/config/scripts/initializeDb.sh diff --git a/opensim-standalone/config/scripts/setEnvironment.sh b/image-opensim/config/scripts/setEnvironment.sh similarity index 100% rename from opensim-standalone/config/scripts/setEnvironment.sh rename to image-opensim/config/scripts/setEnvironment.sh diff --git a/opensim-standalone/config/scripts/updateConfigFiles.sh b/image-opensim/config/scripts/updateConfigFiles.sh similarity index 100% rename from opensim-standalone/config/scripts/updateConfigFiles.sh rename to image-opensim/config/scripts/updateConfigFiles.sh diff --git a/opensim-standalone/config/setup.sh b/image-opensim/config/setup.sh similarity index 100% rename from opensim-standalone/config/setup.sh rename to image-opensim/config/setup.sh diff --git a/opensim-standalone/config/standalone-mysql/Includes.ini b/image-opensim/config/standalone-sql/Includes.ini similarity index 100% rename from opensim-standalone/config/standalone-mysql/Includes.ini rename to image-opensim/config/standalone-sql/Includes.ini diff --git a/opensim-standalone/config/standalone-mysql/Regions/Regions.ini b/image-opensim/config/standalone-sql/Regions/Regions.ini similarity index 100% rename from opensim-standalone/config/standalone-mysql/Regions/Regions.ini rename to image-opensim/config/standalone-sql/Regions/Regions.ini diff --git a/opensim-standalone/config/standalone-mysql/config-include/FlotsamCache.ini b/image-opensim/config/standalone-sql/config-include/FlotsamCache.ini similarity index 100% rename from opensim-standalone/config/standalone-mysql/config-include/FlotsamCache.ini rename to image-opensim/config/standalone-sql/config-include/FlotsamCache.ini diff --git a/opensim-standalone/config/standalone/config-include/Grid.ini b/image-opensim/config/standalone-sql/config-include/Grid.ini similarity index 100% rename from opensim-standalone/config/standalone/config-include/Grid.ini rename to image-opensim/config/standalone-sql/config-include/Grid.ini diff --git a/opensim-standalone/config/standalone/config-include/GridCommon.ini b/image-opensim/config/standalone-sql/config-include/GridCommon.ini similarity index 100% rename from opensim-standalone/config/standalone/config-include/GridCommon.ini rename to image-opensim/config/standalone-sql/config-include/GridCommon.ini diff --git a/opensim-standalone/config/standalone/config-include/GridHypergrid.ini b/image-opensim/config/standalone-sql/config-include/GridHypergrid.ini similarity index 100% rename from opensim-standalone/config/standalone/config-include/GridHypergrid.ini rename to image-opensim/config/standalone-sql/config-include/GridHypergrid.ini diff --git a/opensim-standalone/config/standalone-mysql/config-include/Standalone.ini b/image-opensim/config/standalone-sql/config-include/Standalone.ini similarity index 100% rename from opensim-standalone/config/standalone-mysql/config-include/Standalone.ini rename to image-opensim/config/standalone-sql/config-include/Standalone.ini diff --git a/opensim-standalone/config/standalone-mysql/config-include/StandaloneCommon.ini b/image-opensim/config/standalone-sql/config-include/StandaloneCommon.ini similarity index 100% rename from opensim-standalone/config/standalone-mysql/config-include/StandaloneCommon.ini rename to image-opensim/config/standalone-sql/config-include/StandaloneCommon.ini diff --git a/opensim-standalone/config/standalone-mysql/config-include/StandaloneHypergrid.ini b/image-opensim/config/standalone-sql/config-include/StandaloneHypergrid.ini similarity index 100% rename from opensim-standalone/config/standalone-mysql/config-include/StandaloneHypergrid.ini rename to image-opensim/config/standalone-sql/config-include/StandaloneHypergrid.ini diff --git a/opensim-standalone/config/standalone/config-include/osslDefaultEnable.ini b/image-opensim/config/standalone-sql/config-include/osslDefaultEnable.ini similarity index 100% rename from opensim-standalone/config/standalone/config-include/osslDefaultEnable.ini rename to image-opensim/config/standalone-sql/config-include/osslDefaultEnable.ini diff --git a/opensim-standalone/config/standalone-mysql/config-include/osslEnable.ini b/image-opensim/config/standalone-sql/config-include/osslEnable.ini similarity index 100% rename from opensim-standalone/config/standalone-mysql/config-include/osslEnable.ini rename to image-opensim/config/standalone-sql/config-include/osslEnable.ini diff --git a/opensim-standalone/config/standalone-mysql/config-include/storage/SQLiteStandalone.ini b/image-opensim/config/standalone-sql/config-include/storage/SQLiteStandalone.ini similarity index 100% rename from opensim-standalone/config/standalone-mysql/config-include/storage/SQLiteStandalone.ini rename to image-opensim/config/standalone-sql/config-include/storage/SQLiteStandalone.ini diff --git a/opensim-standalone/config/standalone-mysql/docker-compose.yml b/image-opensim/config/standalone-sql/docker-compose.yml similarity index 100% rename from opensim-standalone/config/standalone-mysql/docker-compose.yml rename to image-opensim/config/standalone-sql/docker-compose.yml diff --git a/opensim-standalone/config/standalone-mysql/misc.ini b/image-opensim/config/standalone-sql/misc.ini similarity index 100% rename from opensim-standalone/config/standalone-mysql/misc.ini rename to image-opensim/config/standalone-sql/misc.ini diff --git a/opensim-standalone/config/standalone-mysql/os-secrets b/image-opensim/config/standalone-sql/os-secrets similarity index 100% rename from opensim-standalone/config/standalone-mysql/os-secrets rename to image-opensim/config/standalone-sql/os-secrets diff --git a/opensim-standalone/config/standalone/Includes.ini b/image-opensim/config/standalone/Includes.ini similarity index 100% rename from opensim-standalone/config/standalone/Includes.ini rename to image-opensim/config/standalone/Includes.ini diff --git a/opensim-standalone/config/standalone/Regions/Regions.ini b/image-opensim/config/standalone/Regions/Regions.ini similarity index 100% rename from opensim-standalone/config/standalone/Regions/Regions.ini rename to image-opensim/config/standalone/Regions/Regions.ini diff --git a/opensim-standalone/config/standalone/config-include/FlotsamCache.ini b/image-opensim/config/standalone/config-include/FlotsamCache.ini similarity index 100% rename from opensim-standalone/config/standalone/config-include/FlotsamCache.ini rename to image-opensim/config/standalone/config-include/FlotsamCache.ini diff --git a/image-opensim/config/standalone/config-include/Grid.ini b/image-opensim/config/standalone/config-include/Grid.ini new file mode 100644 index 0000000..9520b7c --- /dev/null +++ b/image-opensim/config/standalone/config-include/Grid.ini @@ -0,0 +1,63 @@ +;; +;; Please don't change this file. +;; All optional settings are in GridCommon.ini.example, +;; which you can copy and change. +;; + +[Includes] + Include-Common = "config-include/GridCommon.ini" + +[Modules] + AssetServices = "RegionAssetConnector" + InventoryServices = "RemoteXInventoryServicesConnector" + GridServices = "RegionGridServicesConnector" + AvatarServices = "RemoteAvatarServicesConnector" + NeighbourServices = "NeighbourServicesOutConnector" + AuthenticationServices = "RemoteAuthenticationServicesConnector" + AuthorizationServices = "LocalAuthorizationServicesConnector" + PresenceServices = "RemotePresenceServicesConnector" + UserAccountServices = "RemoteUserAccountServicesConnector" + AgentPreferencesServices= "RemoteAgentPreferencesServicesConnector" + GridUserServices = "RemoteGridUserServicesConnector" + SimulationServices = "RemoteSimulationConnectorModule" + EntityTransferModule = "BasicEntityTransferModule" + InventoryAccessModule = "BasicInventoryAccessModule" + LandServices = "RemoteLandServicesConnector" + MapImageService = "MapImageServiceModule" + SearchModule = "BasicSearchModule" + MuteListService = "RemoteMuteListServicesConnector" + + LandServiceInConnector = true + NeighbourServiceInConnector = true + SimulationServiceInConnector = true + LibraryModule = true + +[SimulationDataStore] + LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" + +[EstateDataStore] + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" + +[AssetService] + LocalGridAssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector" + +[GridService] + LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" + ; for the LocalGridServicesConnector which is used by the Remote one + StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" + NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector" + + ; Because LocalGridServicesConnector starts this service, in grid mode we need to suppress + ; the inappropriate console commands that it registers. + SuppressConsoleCommands = true + +[LibraryService] + LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" + LibraryName = "OpenSim Library" + DefaultLibrary = "./inventory/Libraries.xml" + +[Friends] + Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector" + +[MapImageService] + LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" diff --git a/image-opensim/config/standalone/config-include/GridCommon.ini b/image-opensim/config/standalone/config-include/GridCommon.ini new file mode 100644 index 0000000..90eaab1 --- /dev/null +++ b/image-opensim/config/standalone/config-include/GridCommon.ini @@ -0,0 +1,233 @@ +; This is the main configuration file for an instance of OpenSim running in grid mode + +[DatabaseService] + ; + ; ### Choose the DB + ; + + ; SQLite + Include-Storage = "config-include/storage/SQLiteStandalone.ini"; + + ; MySql + ; Uncomment these lines if you want to use mysql storage + ; Change the connection string to your db details + ; Remove SslMode=None if you need secure connection to the local mysql + ; In most cases ssl is just a pure waste of resources, specially when mySql is on same machine, and closed to outside + ;StorageProvider = "OpenSim.Data.MySQL.dll" + ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;SslMode=None;" + ; Uncomment this line if you are using MySQL and want to use a different database for estates + ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database. + ; Most people won't need to do this so only uncomment if you know what you're doing. + ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;SslMode=None;" + + ; MSSQL + ; Uncomment these lines if you want to use MSSQL storage + ; Change the connection string to your db details + ; The value for server property is shown in your SQL Server Management Studio login dialog. + ; (This sample is the default of express edition) + ;StorageProvider = "OpenSim.Data.MSSQL.dll" + ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" + + ; PGSQL + ; Uncomment these lines if you want to use PGSQL storage + ; Change the connection string to your db details + ;StorageProvider = "OpenSim.Data.PGSQL.dll" + ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;" + +[Hypergrid] + ; Uncomment the variable GatekeeperURI in this section to enable + ; Hypergrid configuration. Otherwise, ignore. + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server + ;; that runs the Gatekeeper service. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;# {GatekeeperURIAlias} {Hypergrid} {alternative hostnames (FQDN), or IPs of the gatekeeper of this world and port} {} + ;; comma separated list, + ;; in case there was for example a dns change, etc + ; GatekeeperURIAlias = myoldname.something.org + + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server that + ;; runs the UserAgentsService. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + + ;# {HomeURIAlias} {Hypergrid} {Old http schema (default http://), hostnames (FQDN), or IPs of the gatekeeper of this world and port (default 80 or 443)} {} + ;; comma separated list, + ;; in case there was for example a dns change, etc but it is still same grid + ; HomeURIAlias = myoldname.something.org, 127.0.0.1,127.0.0.1:8043 + + +[Modules] + ;; Asset cache module. + ;; Warning this is required for several region features + + AssetCaching = "FlotsamAssetCache" + Include-FlotsamCache = "config-include/FlotsamCache.ini" + + ;; Optionally, the port for the LLProxyLoginModule module can be changed + ;Setup_LLProxyLoginModule = "9090/" + + ;; Authorization is not on by default, as it depends on external php + ;AuthorizationServices = "RemoteAuthorizationServicesConnector" + +[AssetService] + DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" + AssetLoaderArgs = "assets/AssetSets.xml" + + ; + ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses. + ; + AssetServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[InventoryService] + ; + ; Change this to your grid-wide inventory server + ; + InventoryServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + ;MaxRetries = 0 + +[GridInfo] + ; + ; Change this to your grid info service + ; + GridInfoURI = "${Const|BaseURL}:${Const|PublicPort}" + +[GridService] + ; + ; Change this to your grid-wide grid server + ; + GridServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + ;AllowHypergridMapSearch = true + + ;; Directory for map tile images of linked regions + ; MapTileDirectory = "./maptiles" + + ; === HG ONLY === + ;; Change this to the address of your Gatekeeper service + ;; (usually bundled with the rest of the services in one + ;; Robust server in port ${Const|PublicPort}, but not always) + Gatekeeper="${Const|BaseURL}:${Const|PublicPort}" + +[EstateDataStore] + ; + ; Uncomment if you want centralized estate data at robust server, + ; in which case the URL in [EstateService] will be used + ; + ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector" + +[EstateService] + EstateServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[Messaging] + ; === HG ONLY === + ;; Change this to the address of your Gatekeeper service + ;; (usually bundled with the rest of the services in one + ;; Robust server in port ${Const|PublicPort}, but not always) + Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}" + +[AvatarService] + ; + ; Change this to your grid-wide grid server + ; + AvatarServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[AgentPreferencesService] + ; + ; Change this to your grid-wide avatar prefs server + ; + AgentPreferencesServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[PresenceService] + ; + ; Change this to your grid-wide presence server + ; + PresenceServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[UserAccountService] + ; + ; Change this to your grid-wide user accounts server + ; + UserAccountServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[GridUserService] + ; + ; Change this to your grid-wide user server + ; + GridUserServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[AuthenticationService] + ; + ; Change this to your grid-wide authentication server + ; + AuthenticationServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[FriendsService] + ; + ; Change this to your grid-wide friends server + ; + FriendsServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[HGInventoryAccessModule] + ; + ; === HG ONLY === + ; Change this to your server + ; accessible from other grids + ; + ;; If you want to protect your assets from being copied by foreign visitors + ;; set this to false. You may want to do this on sims that have licensed content. + ;; Default is true. + ; OutboundPermission = True + + ;; Send visual reminder to local users that their inventories are unavailable while they are traveling + ;; and available when they return. True by default. + ;RestrictInventoryAccessAbroad = True + + ;; Warning: advanced and unusual. Default is false. + ;; Enables configurations where grids share user services, including inventory, + ;; while separating regions' assets from users' assets. Asset transfer between + ;; the users' asset server and the regions' asset server is done in HG-like manner. + ; CheckSeparateAssets = false + ; RegionHGAssetServerURI = ${Const|BaseURL}:${Const|PublicPort} + + +[HGAssetService] + ; + ; === HG ONLY === + ;; The asset types that this grid can export to / import from other grids. + ;; Comma separated. + ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely: + ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText, + ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh + ;; + ;; Leave blank or commented if you don't want to apply any restrictions. + ;; A more strict, but still reasonable, policy may be to disallow the exchange + ;; of scripts, like so: + ; DisallowExport ="LSLText" + ; DisallowImport ="LSLBytecode" + +[HGFriendsModule] + ; User level required to be able to send friendship invitations to foreign users + ;LevelHGFriends = 0; + +[MapImageService] + MapImageServerURI = "${Const|PrivURL}:${Const|PrivatePort}" + +[AuthorizationService] + ; If you have regions with access restrictions + ; specify them here using the convention + ; Region_ = + ; Valid flags are: + ; DisallowForeigners -- HG visitors not allowed + ; DisallowResidents -- only Admins and Managers allowed + ; Example: + ; Region_Test_1 = "DisallowForeigners" + + +[MuteListService] + MuteListServerURI = "${Const|PrivURL}:${Const|PrivatePort}" diff --git a/image-opensim/config/standalone/config-include/GridHypergrid.ini b/image-opensim/config/standalone/config-include/GridHypergrid.ini new file mode 100644 index 0000000..5a48ac2 --- /dev/null +++ b/image-opensim/config/standalone/config-include/GridHypergrid.ini @@ -0,0 +1,88 @@ +;; +;; Please don't change this file. +;; All optional settings are in GridCommon.ini.example, +;; which you can copy and change. +;; + +[Includes] + Include-Common = "config-include/GridCommon.ini" + +[Startup] + WorldMapModule = "HGWorldMap" + +[Modules] + AssetServices = "RegionAssetConnector" + InventoryServices = "HGInventoryBroker" + GridServices = "RegionGridServicesConnector" + AvatarServices = "RemoteAvatarServicesConnector" + NeighbourServices = "NeighbourServicesOutConnector" + AuthenticationServices = "RemoteAuthenticationServicesConnector" + AuthorizationServices = "LocalAuthorizationServicesConnector" + PresenceServices = "RemotePresenceServicesConnector" + UserAccountServices = "RemoteUserAccountServicesConnector" + AgentPreferencesServices= "RemoteAgentPreferencesServicesConnector" + GridUserServices = "RemoteGridUserServicesConnector" + SimulationServices = "RemoteSimulationConnectorModule" + EntityTransferModule = "HGEntityTransferModule" + InventoryAccessModule = "HGInventoryAccessModule" + LandServices = "RemoteLandServicesConnector" + FriendsModule = "HGFriendsModule" + MapImageService = "MapImageServiceModule" + UserManagementModule = "HGUserManagementModule" + SearchModule = "BasicSearchModule" + MuteListService = "RemoteMuteListServicesConnector" + + LandServiceInConnector = true + NeighbourServiceInConnector = true + SimulationServiceInConnector = true + LibraryModule = true + + Setup_EntityTransferModule = disabled + Setup_WorldMapModule = disabled + +[SimulationDataStore] + LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService" + +[EstateDataStore] + LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService" + +[AssetService] + LocalGridAssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector" + HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector" + +[InventoryService] + LocalGridInventoryService = "OpenSim.Region.CoreModules.dll:RemoteXInventoryServicesConnector" + +[GridService] + LocalServiceModule = "OpenSim.Services.GridService.dll:GridService" + StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" + + NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector" + + ; Needed to display non-default map tile images for linked regions + AssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector" + + HypergridLinker = true + AllowHypergridMapSearch = true + SuppressConsoleCommands = true + +[LibraryService] + LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService" + LibraryName = "OpenSim Library" + DefaultLibrary = "./inventory/Libraries.xml" + +[Friends] + Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector" + +[Messaging] + MessageTransferModule = HGMessageTransferModule + LureModule = HGLureModule + +[HGInstantMessageService] + LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService" + GridService = "OpenSim.Services.Connectors.dll:GridServicesConnector" + PresenceService = "OpenSim.Services.Connectors.dll:PresenceServicesConnector" + UserAgentService = "OpenSim.Services.Connectors.dll:UserAgentServiceConnector" + +[MapImageService] + LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector" diff --git a/opensim-standalone/config/standalone/config-include/Standalone.ini b/image-opensim/config/standalone/config-include/Standalone.ini similarity index 100% rename from opensim-standalone/config/standalone/config-include/Standalone.ini rename to image-opensim/config/standalone/config-include/Standalone.ini diff --git a/opensim-standalone/config/standalone/config-include/StandaloneCommon.ini b/image-opensim/config/standalone/config-include/StandaloneCommon.ini similarity index 100% rename from opensim-standalone/config/standalone/config-include/StandaloneCommon.ini rename to image-opensim/config/standalone/config-include/StandaloneCommon.ini diff --git a/opensim-standalone/config/standalone/config-include/StandaloneHypergrid.ini b/image-opensim/config/standalone/config-include/StandaloneHypergrid.ini similarity index 100% rename from opensim-standalone/config/standalone/config-include/StandaloneHypergrid.ini rename to image-opensim/config/standalone/config-include/StandaloneHypergrid.ini diff --git a/image-opensim/config/standalone/config-include/osslDefaultEnable.ini b/image-opensim/config/standalone/config-include/osslDefaultEnable.ini new file mode 100644 index 0000000..3ecf3c5 --- /dev/null +++ b/image-opensim/config/standalone/config-include/osslDefaultEnable.ini @@ -0,0 +1,235 @@ +; Enable OSSL functions. +; Including this file in a region's set of INI files, causes the OpenSimulator +; specific functions to be enabled. +; See http://opensimulator.org/wiki/Category:OSSL_Functions for a description of OSSL functions +; do not edit this file. +; copy the line you want to change and paste it on osslEnable.ini, then change there + + +[OSSL] + ; Allow the use of os* functions (some are always available) + AllowOSFunctions = true + + ; Allow the user of mod* functions. This allows a script to pass messages + ; to a region module via the modSendCommand() function and is used by some + ; modules to extend the scripting language. + AllowMODFunctions = true + + ; Allow the use of LightShare functions. + ; The setting enable_windlight = true must also be enabled in the [LightShare] section. + AllowLightShareFunctions = true + + ; Send function permission error to owner if true, to all if false + PermissionErrorToOwner = false + + ; Function Threat level + ; Several functions have a predefined threat level, one of: None, VeryLow, Low, Moderate, High, VeryHigh, Severe. + ; See http://opensimulator.org/wiki/Threat_level for more information on these levels. + ; Blanket enabling the ossl functions is dangerous and we do not recommend setting higher + ; than 'Low' unless you have a high level of trust in all the users that can run scripts + ; in your simulator. It is safer to explicitly allow certain types of user to run + ; higher threat level OSSL functions, as detailed later on. + ; This setting defines the highest level allowed to execute + OSFunctionThreatLevel = VeryLow + + ; The threat level can be replaced by more detailed rules by lines of the form + ; Allow_FunctionName = parameters + ; To use the default threat level coment the respective line + ; parameters can be: + ; 'false' disables the function. + ; 'true' enables for everyone + ; or to enable for individuals or groups, set it to a comma separated list. This checks + ; against the owner of the object containing the script. + ; The comma separated entries in the list may be one of: + ; "GRID_GOD" -- enable for users with UserLevel >= 200 + ; "GOD" -- enable for users with rights to be god (local or grid) + ; "ACTIVE_GOD" -- enable for users that are present and with active god power + ; "ESTATE_MANAGER" -- enable for estate manager + ; "ESTATE_OWNER" -- enable for estate owner + ; "PARCEL_OWNER" -- enable for parcel owner + ; "PARCEL_GROUP_MEMBER" -- enable for any member of the parcel group + ; uuid -- enable for specified ID (may be avatar or group ID) + ; from this we can also create macros that can be include in the list as + ; ${OSSL|macroname} see examples below + + ; parcel macros + ; Allowing ossl functions for anyone owning a parcel can be dangerous especially if + ; a region is selling or otherwise giving away parcel ownership. By default, parcel + ; ownership or group membership does not enable OSSL functions. Uncomment the + ; appropriate line below to allow parcel ownership and groups to do restricted + ; OSSL functions. It might be better to check the list below and edit the ones + ; to enable individually. + osslParcelO = "" + osslParcelOG = "" + ; osslParcelO = "PARCEL_OWNER," + ; osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER," + + ; NPC macros + ; These can be mis-used so limit use to those you can trust. + osslNPC = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + + ; The threat level also can be replaced by lines of the form + ; Creators__FunctionName = comma separated list of UUIDs + ; this will enable the function for users that are the script creators and owners of the prim + + + ; ************************************************* + + ; ThreatLevel None + Allow_osGetAgents = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAvatarList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + ;Allow_osGetGender = true + ;Allow_osGetHealth = true + ;Allow_osGetHealRate = true + Allow_osGetNPCList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + ;Allow_osGetRezzingObject = true + ;Allow_osGetSunParam = true + Allow_osNpcGetOwner = ${OSSL|osslNPC} + Allow_osSetSunParam = ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportOwner = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + ;Allow_osWindActiveModelPluginName = true + + ; ThreatLevel Nuisance + Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel VeryLow + Allow_osEjectFromGroup = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceBreakAllLinks = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceBreakLink = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetWindParam = true + Allow_osInviteToGroup = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osReplaceString = true + Allow_osSetDynamicTextureData = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataBlend = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataBlendFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelMusicURL = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetPrimFloatOnWater = true + Allow_osSetWindParam = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER + Allow_osUnixTimeToTimestamp = true + + ; ThreatLevel Low + Allow_osAvatarName2Key = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osFormatString = true + Allow_osKey2Name = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osListenRegex = true + Allow_osLoadedCreationDate = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osLoadedCreationID = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osLoadedCreationTime = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osMessageObject = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRegexIsMatch = true + Allow_osGetAvatarHomeURI = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osNpcSetProfileAbout = ${OSSL|osslNPC} + Allow_osNpcSetProfileImage = ${OSSL|osslNPC} + Allow_osDie = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel Moderate + Allow_osDetectedCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetAgentCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridCustom = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridGatekeeperURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridHomeURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridLoginURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetGridName = true + Allow_osGetGridNick = true + Allow_osGetNumberOfAttachments = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetRegionStats = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetSimulatorMemory = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetSimulatorMemoryKB = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osMessageAttachments = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osReplaceAgentEnvironment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetOwnerSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRequestURL = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osRequestSecureURL = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel High + Allow_osCauseDamage = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osCauseHealing = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetHealth = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetHealRate = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceAttachToAvatar = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceAttachToAvatarFromInventory = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceCreateLink = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osForceDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetLinkPrimitiveParams = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetPhysicsEngineType = true + Allow_osGetRegionMapTexture = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetScriptEngineName = true + Allow_osGetSimulatorVersion = true + Allow_osMakeNotecard = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osMatchString = true + Allow_osNpcCreate = ${OSSL|osslNPC} + Allow_osNpcGetPos = ${OSSL|osslNPC} + Allow_osNpcGetRot = ${OSSL|osslNPC} + Allow_osNpcLoadAppearance = ${OSSL|osslNPC} + Allow_osNpcMoveTo = ${OSSL|osslNPC} + Allow_osNpcMoveToTarget = ${OSSL|osslNPC} + Allow_osNpcPlayAnimation = ${OSSL|osslNPC} + Allow_osNpcRemove = ${OSSL|osslNPC} + Allow_osNpcSaveAppearance = ${OSSL|osslNPC} + Allow_osNpcSay = ${OSSL|osslNPC} + Allow_osNpcSayTo = ${OSSL|osslNPC} + Allow_osNpcSetRot = ${OSSL|osslNPC} + Allow_osNpcShout = ${OSSL|osslNPC} + Allow_osNpcSit = ${OSSL|osslNPC} + Allow_osNpcStand = ${OSSL|osslNPC} + Allow_osNpcStopAnimation = ${OSSL|osslNPC} + Allow_osNpcStopMoveToTarget = ${OSSL|osslNPC} + Allow_osNpcTouch = ${OSSL|osslNPC} + Allow_osNpcWhisper = ${OSSL|osslNPC} + Allow_osOwnerSaveAppearance = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER + Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER + Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER + Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetProjectionParams = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel VeryHigh + Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER + ; Warning: The next function allows scripts to force animations on avatars without the user giving permission. + ; Enabling this can allow forced animations which can trigger traumatic episodes in vulnerable populations. + ; Similar things can be said for several of the 'force' functions. Enable with care and control. + ; Some of these were added as early functionality for NPCs. This has been replaced with the NPC functions. + Allow_osAvatarPlayAnimation = false + Allow_osAvatarStopAnimation = false + Allow_osForceAttachToOtherAvatarFromInventory = false + Allow_osForceDetachFromAvatar = false + Allow_osForceOtherSit = false + ; The notecard functions can cause a lot of load on the region if over used + Allow_osGetNotecard = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetNotecardLine = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osGetNumberOfNotecardLines = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURL = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURLBlend = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureURLBlendFace = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetRot = false + Allow_osSetParcelDetails = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel Severe + Allow_osConsoleCommand = false + Allow_osKickAvatar = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportAgent = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + Allow_osTeleportObject = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER + + ; ThreatLevel Severe with additional internal restrictions + Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) + Allow_osSetContentType = false + + +; Always available +; see http://opensimulator.org/wiki/Category:OSSL_Functions + +;; do no remove this line +Include-osslEnable = "config-include/osslEnable.ini" \ No newline at end of file diff --git a/opensim-standalone/config/standalone/config-include/osslEnable.ini b/image-opensim/config/standalone/config-include/osslEnable.ini similarity index 100% rename from opensim-standalone/config/standalone/config-include/osslEnable.ini rename to image-opensim/config/standalone/config-include/osslEnable.ini diff --git a/opensim-standalone/config/standalone/config-include/storage/SQLiteStandalone.ini b/image-opensim/config/standalone/config-include/storage/SQLiteStandalone.ini similarity index 100% rename from opensim-standalone/config/standalone/config-include/storage/SQLiteStandalone.ini rename to image-opensim/config/standalone/config-include/storage/SQLiteStandalone.ini diff --git a/opensim-standalone/config/standalone/docker-compose.yml b/image-opensim/config/standalone/docker-compose.yml similarity index 100% rename from opensim-standalone/config/standalone/docker-compose.yml rename to image-opensim/config/standalone/docker-compose.yml diff --git a/opensim-standalone/config/standalone/misc.ini b/image-opensim/config/standalone/misc.ini similarity index 100% rename from opensim-standalone/config/standalone/misc.ini rename to image-opensim/config/standalone/misc.ini diff --git a/image-opensim/config/standalone/os-secrets b/image-opensim/config/standalone/os-secrets new file mode 100644 index 0000000..4944aae --- /dev/null +++ b/image-opensim/config/standalone/os-secrets @@ -0,0 +1,35 @@ +# File of secrets for the build and run images. +# This file is a template of the values to use. +# NEVER, NEVER EVER CHECK-IN the version with the real values!! + +# The configuration files look for the file 'os-secrets.crypt' and, when +# found, runs 'ccrypt' using the password from the environment variable +# "CONFIGKEY". So, edit this file and do: +# cp os-secrets tempFile +# +# ccrypt -e -E "$CONFIGKEY" < tempFile > os-secrets.crypt +# rm tempFile +# or (exposing the key in the bash history): +# ccrypt -e -K thekey < os-secrets > os-secrets.crypt +# +# Later, if you need to review the passwords, decrypt the file with: +# ccrypt -d -E "$CONFIGKEY" < os-secrets.crypt + +# If this next variable is defined, MYSQL is configured +#export MYSQL_ROOT_PASSWORD=ksdjfalkcxviowerw +export MYSQL_DB_SOURCE=localhost +export MYSQL_DB_DB=opensim +export MYSQL_DB_USER=opensim +export MYSQL_DB_USER_PASSWORD=dbpassword + +export OPENSIM_USER=opensim +export OPENSIM_USER_PASSWORD=unknownPassword + +# The following are used to initialize estate if running standalone +export DEFAULT_ESTATE_NAME="Donalds Estate" +export DEFAULT_ESTATE_OWNER="Donald Duck" +export PW_FOR_DEFAULT_ESTATE_OWNER=anotherUnknownPassword + +# Did I mention that one should NEVER, NEVER, EVER check-in a version +# with the real passwords in it? + diff --git a/opensim-standalone/run-standalone.sh b/image-opensim/run-opensim.sh similarity index 100% rename from opensim-standalone/run-standalone.sh rename to image-opensim/run-opensim.sh diff --git a/image-opensim/stop-opensim.sh b/image-opensim/stop-opensim.sh new file mode 100755 index 0000000..c2f6e5e --- /dev/null +++ b/image-opensim/stop-opensim.sh @@ -0,0 +1,26 @@ +#! /bin/bash +# Stop the running opensimulator + +BASE=$(pwd) + +export CONFIG_NAME=${CONFIG_NAME:-standalone} + +# This export fakes out the environment setup script to look for files in +# build environment rather than in run environment. +export OPENSIMBIN=$BASE +source config/scripts/setEnvironment.sh +unset OPENSIMBIN + +# Use the generic docker-compose file or the one specific to the configuration if it exists +cd "$BASE" +COMPOSEFILE=./docker-compose.yml +if [[ -e "config/$CONFIG_NAME/docker-compose.yml" ]] ; then + COMPOSEFILE="config/$CONFIG_NAME/docker-compose.yml" +fi + +echo "Stopping configuration $CONFIG_NAME from \"$COMPOSEFILE\"" + +docker-compose \ + --file "$COMPOSEFILE" \ + --project-name opensim-standalone \ + down diff --git a/opensim-standalone/vimrc b/image-opensim/vimrc similarity index 100% rename from opensim-standalone/vimrc rename to image-opensim/vimrc diff --git a/run-scripts/.vimrc b/run-scripts/.vimrc new file mode 100755 index 0000000..e00ec5b --- /dev/null +++ b/run-scripts/.vimrc @@ -0,0 +1,8 @@ +set tabstop=4 +set shiftwidth=4 +set expandtab +set autoindent +set ff=unix + +set background=dark +syntax enable diff --git a/opensim-standalone/run-scripts/NOOPENSIM b/run-scripts/NOOPENSIM similarity index 100% rename from opensim-standalone/run-scripts/NOOPENSIM rename to run-scripts/NOOPENSIM diff --git a/run-scripts/README.md b/run-scripts/README.md new file mode 100644 index 0000000..0ff6061 --- /dev/null +++ b/run-scripts/README.md @@ -0,0 +1,18 @@ +This directory of files are copied into /home/opensim to act as the +startup and operation scripts for the instance of OpenSim that is running +in the docker container. + +`bootOpenSim.sh` is run when the docker container starts and is responsible +for seeing that the configuration files and other setup (like DB) are initialized. +This script calls `firstTimeSetup.sh` for the first ever boot to do any +initial setup. +This script will fail if the environment variables `CONFIGKEY` or `EXTERNAL_HOSTNAME` +are not set. + +`run.opensim.sh` starts the OpenSimulator instance. + +`checkOpenSim.sh` is run periodically to make sure that the OpenSimulator instance +is running and, if not, save crash information (`captureCrash.sh`) and then +restart OpenSimulator. + +`crontab` is set initially to run `checkOldLogFiles.sh` which rotates `OpenSim.log`. diff --git a/opensim-standalone/run-scripts/bootOpenSim.sh b/run-scripts/bootOpenSim.sh similarity index 100% rename from opensim-standalone/run-scripts/bootOpenSim.sh rename to run-scripts/bootOpenSim.sh diff --git a/opensim-standalone/run-scripts/captureCrash.sh b/run-scripts/captureCrash.sh similarity index 100% rename from opensim-standalone/run-scripts/captureCrash.sh rename to run-scripts/captureCrash.sh diff --git a/opensim-standalone/run-scripts/checkOldLogFiles.sh b/run-scripts/checkOldLogFiles.sh similarity index 100% rename from opensim-standalone/run-scripts/checkOldLogFiles.sh rename to run-scripts/checkOldLogFiles.sh diff --git a/opensim-standalone/run-scripts/checkOpenSim.sh b/run-scripts/checkOpenSim.sh similarity index 100% rename from opensim-standalone/run-scripts/checkOpenSim.sh rename to run-scripts/checkOpenSim.sh diff --git a/opensim-standalone/run-scripts/crontab b/run-scripts/crontab similarity index 100% rename from opensim-standalone/run-scripts/crontab rename to run-scripts/crontab diff --git a/opensim-standalone/run-scripts/firstTimeSetup.sh b/run-scripts/firstTimeSetup.sh similarity index 100% rename from opensim-standalone/run-scripts/firstTimeSetup.sh rename to run-scripts/firstTimeSetup.sh diff --git a/run-scripts/nullOutConfigInclude.sh b/run-scripts/nullOutConfigInclude.sh new file mode 100755 index 0000000..933b0c7 --- /dev/null +++ b/run-scripts/nullOutConfigInclude.sh @@ -0,0 +1,29 @@ +#! /bin/bash +# This file is run for initial configuration and is not run thereafter. + +# Script that walks ./config-include and over-writes all INI files with empty contents. +# This also creates empty INI files for all the *.example files. + +if [[ ! -d "./config-include" ]] ; then + echo "./config-include directory DOES NOT EXIST in the current directory" + echo "NOT DOING ANYTHING" + exit 5 +fi + +TEMPFILE=/tmp/configInclude$$ +rm -f "$TEMPFILE" +cat > "$TEMPFILE" << EOFFFF +; This file exists because this file is the default architecture include +; in OpenSim.ini. +; Look for the real configuration in bin/config which overlays settings. +EOFFFF + +for iniFile in $(find ./config-include -name \*.ini ) ; do + cp "$TEMPFILE" "$iniFile" +done + +for exampleFile in $(find ./config-include -name \*.example) ; do + cp "$TEMPFILE" "${exampleFile%%.example}" +done + +rm -f "$TEMPFILE" diff --git a/opensim-standalone/run-scripts/run.opensim.sh b/run-scripts/run.opensim.sh similarity index 100% rename from opensim-standalone/run-scripts/run.opensim.sh rename to run-scripts/run.opensim.sh diff --git a/opensim-standalone/run-scripts/stopOpenSim.sh b/run-scripts/stopOpenSim.sh similarity index 100% rename from opensim-standalone/run-scripts/stopOpenSim.sh rename to run-scripts/stopOpenSim.sh