#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build WORKDIR /src COPY ["BetterSecondbot/BetterSecondbot.csproj", "BetterSecondbot/"] COPY ["Core/Core.csproj", "Core/"] COPY ["Shared/Shared.csproj", "Shared/"] COPY ["LibreMetaverse/LibreMetaverse.csproj", "LibreMetaverse/"] COPY ["LibreMetaverse.StructuredData/LibreMetaverse.StructuredData.csproj", "LibreMetaverse.StructuredData/"] COPY ["LibreMetaverse.Types/LibreMetaverse.Types.csproj", "LibreMetaverse.Types/"] RUN dotnet restore "BetterSecondbot/BetterSecondbot.csproj" COPY . . WORKDIR "/src/BetterSecondbot" RUN dotnet publish "BetterSecondbot.csproj" -c Release -o /app/publish FROM mcr.microsoft.com/dotnet/runtime:7.0 WORKDIR /app COPY --from=publish /app/publish . # --- Update your settings --- ENV #-- basic basic_Username = '' \ basic_Password = '' \ basic_LoginURI = 'secondlife' \ #-- commands commands_AllowFundsCommands = 'false' \ commands_AllowIMcontrol = 'false' \ commands_SharedSecret = 'examplecode' \ commands_EnableMasterControls = 'true' \ commands_MastersCSV = 'Madpeter Zond' \ commands_EnforceTimeWindow = 'false' \ commands_TimeWindowSecs = 35 \ #-- datastore datastore_AutoCleanAvatars = 'true' \ datastore_AvatarsCleanAfterMins = 10 \ datastore_LocalChatHistoryLimit = 120 \ datastore_GroupChatHistoryLimitPerGroup = 50 \ datastore_ImChatHistoryLimit = 50 \ datastore_PrefetchGroupMembers = 'true' \ datastore_PrefetchGroupRoles = 'false' \ datastore_PrefetchEstateBanlist = 'true' \ datastore_AutoCleanKeyValueStore = 'true' \ datastore_CleanKeyValueStoreAfterMins = 10 \ datastore_CommandHistoryLimit = 30 \ #-- discord discord_Enabled = 'false' \ discord_ServerID = '' \ discord_ClientToken = '' \ discord_AllowDiscordCommands = 'false' \ #-- events events_Enabled = 'false' \ events_GroupMemberJoins = 'false' \ events_GroupMemberLeaves = 'false' \ events_GroupMemberEventsGroupUUID = '' \ events_GuestEntersArea = 'false' \ events_GuestLeavesArea = 'false' \ events_GuestTrackingSimname = '' \ events_GuestTrackingParcelname = '' \ events_SimAlertMessage = 'false' \ events_StatusMessage = 'false' \ events_MoneyEvent = 'false' \ events_ChangeSim = 'false' \ events_ChangeParcel = 'false' \ events_OutputChannel = -1 \ events_OutputIMuuid = '00000000-0000-0000-0000-000000000000' \ events_OutputHttpURL = 'none' \ events_OutputSecret = 'notset' \ #-- homebound homebound_Enabled = 'false' \ homebound_HomeSimSlUrl = '' \ homebound_BackupSimSLUrl = '' \ homebound_AtHomeSeekLocation = 'false' \ homebound_AtBackupSeekLocation = 'false' \ homebound_AtHomeAutoSitUuid = '00000000-0000-0000-0000-000000000000' \ #-- http http_Enabled = 'false' \ http_Port = 80 \ #-- interactions Enabled = 'true' \ AcceptTeleports = 'false' \ AcceptGroupInvites = 'false' \ AcceptInventory = 'false' \ AcceptFriendRequests = 'false' \ EnableJsonOutputEvents = 'false' \ JsonOutputEventsTarget = 'none' EXPOSE 80 ENV ASPNETCORE_URLS http://+:80 # --- End of settings --- ENTRYPOINT ["/app/BetterSecondbot"]