Exemplo n.º 1
0
 public async Task DeployAsync(string url, string tag)
 {
     if (url == GameConfiguration.PublicURL || url == "*")
     {
         await DockerUpgrade.UpgradeAsync(GameConfiguration, tag, async (message) =>
         {
             await ReplyAsync(message);
         });
     }
 }
Exemplo n.º 2
0
        public async static Task <IWebHostBuilder> CreateWebHostBuilderAsync(string[] args)
        {
            ThreadPool.SetMinThreads(50, 50);

            var builder = WebHost.CreateDefaultBuilder(args);

            var config = new GameConfiguration();

            Configuration <GameConfiguration> .Load("config", instance : config);

            if (Environment.GetEnvironmentVariable("GAME_DOCKER_UPGRADE") != null)
            {
                var oldID = Environment.GetEnvironmentVariable("GAME_DOCKER_UPGRADE_OLD");
                var newID = Environment.GetEnvironmentVariable("GAME_DOCKER_UPGRADE_NEW");

                await DockerUpgrade.FinalSwitchAsync(config, oldID, newID);

                Program.Abort();
            }

            var port = System.Environment.GetEnvironmentVariable("PORT");

            if (!string.IsNullOrEmpty(port))
            {
                builder.UseUrls($"http://*:{port}");
            }
            else
            {
                builder.UseConfiguration(new ConfigurationBuilder()
                                         .AddJsonFile("hosting.json", optional: true)
                                         .Build()
                                         );
            }

            builder
            .UseWebRoot("wwwroot/dist")
            .UseStartup <Startup>();


            if (config.LetsEncryptEnabled && config.RegistryEnabled)
            {
                // Full Form with access to All Options:
                builder.AddAcmeServices(new AcmeOptions
                {
                    AcmeRootDir          = "_IGNORE/_acmesharp",
                    AccountContactEmails = new[] { "*****@*****.**" },
                    AcceptTermsOfService = true,
                    CertificateKeyAlgor  = "rsa",
                });
            }

            return(builder);
        }