From f10cfcc0b5a5390331f56441f2dd9d7669d08165 Mon Sep 17 00:00:00 2001 From: Casey LP Date: Sat, 28 Jan 2023 13:54:24 +0000 Subject: [PATCH] Initial from the sandbox repo. --- .github/workflows/build.yml | 39 +++++++++++++++++++++++++ README.md | 7 +++-- opensim/OpenSim.ini | 55 ++++++++++++++++++++++++++++++++++++ opensim/Regions.ini | 10 +++++++ opensim/StandaloneCommon.ini | 52 ++++++++++++++++++++++++++++++++++ 5 files changed, 161 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 opensim/OpenSim.ini create mode 100644 opensim/Regions.ini create mode 100644 opensim/StandaloneCommon.ini diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..76d030c --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,39 @@ +name: Build Container + +on: + push: + branches: + - main + paths: + - "opensim/**" + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout Codebase + uses: actions/checkout@v2 + + - name: Login to ghcr.io + run: echo ${{ secrets.CR_PAT }} | docker login ghcr.io -u soup-bowl --password-stdin + + #- name: Login to Docker Hub + # uses: docker/login-action@v1 + # with: + # username: ${{ secrets.DOCKER_USER }} + # password: ${{ secrets.DOCKER_TOKEN }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v1 + + - name: Build Container + uses: docker/build-push-action@v2 + with: + push: true + tags: ghcr.io/soup-bowl/opensimulator-docker:edge + platforms: linux/amd64,linux/arm64 diff --git a/README.md b/README.md index 94821d8..447d773 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ -# opensimulator-docker -Image compilation code for OpenSimulator and derivatives +# OpenSimulator in Docker + +Work in progress to contain the OpenSimulator server software in a Docker container. + +Not ready for general use. \ No newline at end of file diff --git a/opensim/OpenSim.ini b/opensim/OpenSim.ini new file mode 100644 index 0000000..33251a7 --- /dev/null +++ b/opensim/OpenSim.ini @@ -0,0 +1,55 @@ + +[Const] + BaseHostname = "localhost" + BaseURL = http://${Const|BaseHostname} + PublicPort = "9000" + PrivURL = ${Const|BaseURL} + PrivatePort = "8003" + +[Permissions] + automatic_gods = false + implicit_gods = false + allow_grid_gods = true + +[Estates] + DefaultEstateName = OpenSim Standalone + DefaultEstateOwnerName = Governor Linden + DefaultEstateOwnerUUID = 00000000-0000-0000-0000-000000000000 + DefaultEstateOwnerEMail = foobar@example.com + DefaultEstateOwnerPassword = password + +[Network] + http_listener_port = 9000 + ExternalHostNameForLSL = ${Const|BaseHostname} + shard = "OpenSim" + +[ClientStack.LindenCaps] + Cap_GetTexture = "localhost" + Cap_GetMesh = "localhost" + Cap_AvatarPickerSearch = "localhost" + Cap_GetDisplayNames = "localhost" + +[Messaging] + StorageProvider = OpenSim.Data.MySQL.dll + ConectionString = "Data Source=db;Database=metaverse;User ID=root;Password=password;Old Guids=true;" + +[BulletSim] + AvatarToAvatarCollisionsByDefault = true + +[RemoteAdmin] + enabled = true + access_password = "password" + enabled_methods = all + +[XEngine] + AppDomainLoading = false + DeleteScriptsOnStartup = false + +[OSSL] + Include-osslDefaultEnable = "config-include/osslDefaultEnable.ini" + +[Architecture] + Include-Architecture = "config-include/Standalone.ini" + +[WebStats] + enabled = true diff --git a/opensim/Regions.ini b/opensim/Regions.ini new file mode 100644 index 0000000..a8d3d35 --- /dev/null +++ b/opensim/Regions.ini @@ -0,0 +1,10 @@ +; If you change the Region name, update [GridService] in StandaloneCommon.ini, otherwise +; avatars that haven't connected before will throw an error. + +[Foobar] + RegionUUID = 92f0c4a2-e7b4-11ea-adc1-0242ac120002 + Location = 1000,1000 + InternalAddress = 0.0.0.0 + InternalPort = 9000 + AllowAlternatePorts = False + ExternalHostName = localhost diff --git a/opensim/StandaloneCommon.ini b/opensim/StandaloneCommon.ini new file mode 100644 index 0000000..836da49 --- /dev/null +++ b/opensim/StandaloneCommon.ini @@ -0,0 +1,52 @@ +; This is the main configuration file for an instance of OpenSim running in standalone mode + +[DatabaseService] + StorageProvider = "OpenSim.Data.MySQL.dll" + ConnectionString = "Data Source=db;Database=metaverse;User ID=root;Password=password;Old Guids=true;" + +[Hypergrid] + HomeURI = "${Const|BaseURL}:${Const|PublicPort}" + +[Modules] + AssetCaching = "FlotsamAssetCache" + Include-FlotsamCache = "config-include/FlotsamCache.ini" + +[AssetService] + DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" + AssetLoaderArgs = "assets/AssetSets.xml" + +[GridService] + StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" + Region_Foobar = "DefaultRegion, FallbackRegion" + ExportSupported = true + +[LibraryModule] + LibraryName = "Library" + +[LoginService] + WelcomeMessage = "Running OpenSimulator in Standalone Grid mode." + SRV_HomeURI = "${Hypergrid|HomeURI}" + SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}" + SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}" + MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/" + +[GridInfoService] + login = ${Const|BaseURL}:${Const|PublicPort}/ + gridname = "OpenSimulator Sandbox Standalone" + gridnick = "osss" + welcome = ${Const|BaseURL}:8080 + +[GatekeeperService] + AllowTeleportsToAnyRegion = true + +[EntityTransfer] + AccountForAppearance = "Test User, Astronaut Smith" + +[UserProfilesService] + Enabled = false + LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService" + UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService + AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"