#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/runtime:7.0 AS base WORKDIR /app FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build WORKDIR /src COPY ["NuGet.Config", "."] COPY ["SecondBotEvents/SecondBotEvents.csproj", "SecondBotEvents/"] COPY ["LibreMetaverse/LibreMetaverse.csproj", "LibreMetaverse/"] COPY ["LibreMetaverse.StructuredData/LibreMetaverse.StructuredData.csproj", "LibreMetaverse.StructuredData/"] COPY ["LibreMetaverse.Types/LibreMetaverse.Types.csproj", "LibreMetaverse.Types/"] RUN dotnet restore "SecondBotEvents/SecondBotEvents.csproj" COPY . . WORKDIR "/src/SecondBotEvents" RUN dotnet build "SecondBotEvents.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "SecondBotEvents.csproj" -c Release -o /app/publish /p:UseAppHost=false FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENV basic_Username = 'SecondbotR5' \ basic_Password = '' \ basic_LoginURI = 'secondlife' \ commands_AllowFundsCommands = 'false' \ commands_AllowIMcontrol = 'false' \ commands_SharedSecret = 'examplecode' \ commands_EnableMasterControls = 'true' \ commands_MastersCSV = 'Madpeter Zond' \ commands_EnforceTimeWindow = 'false' \ commands_TimeWindowSecs = 35 \ 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_Enabled = 'false' \ discord_ServerID = '' \ discord_ClientToken = '' \ discord_AllowDiscordCommands = 'false' \ 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_Enabled = 'false' \ homebound_HomeSimSlUrl = '' \ homebound_BackupSimSLUrl = '' \ homebound_AtHomeSeekLocation = 'false' \ homebound_AtBackupSeekLocation = 'false' \ homebound_AtHomeAutoSitUuid = '00000000-0000-0000-0000-000000000000' \ http_Enabled = 'false' \ http_Port = 80 \ Enabled = 'true' \ AcceptTeleports = 'false' \ AcceptGroupInvites = 'false' \ AcceptInventory = 'false' \ AcceptFriendRequests = 'false' \ EnableJsonOutputEvents = 'false' \ JsonOutputEventsTarget = 'none' EXPOSE 80 ENV ASPNETCORE_URLS http://+:80 ENTRYPOINT ["dotnet", "SecondBotEvents.dll"]