Example #1
0
        private static void RebuildConfigs()
        {
            _context.LoadConfiguration();

            var environmentFileBuilder = new EnvironmentFileBuilder(_context);

            environmentFileBuilder.BuildForUpdater();

            var nginxBuilder = new NginxConfigBuilder(_context);

            nginxBuilder.BuildForUpdater();

            var appIdBuilder = new AppIdBuilder(_context);

            appIdBuilder.Build();

            var assetLinksBuilder = new AssetLinksBuilder(_context);

            assetLinksBuilder.Build();

            var dockerComposeBuilder = new DockerComposeBuilder(_context);

            dockerComposeBuilder.BuildForUpdater();

            _context.SaveConfiguration();
            Console.WriteLine(string.Empty);
        }
Example #2
0
        private static void Install()
        {
            if (_context.Parameters.ContainsKey("letsencrypt"))
            {
                _context.Config.SslManagedLetsEncrypt =
                    _context.Parameters["letsencrypt"].ToLowerInvariant() == "y";
            }
            if (_context.Parameters.ContainsKey("domain"))
            {
                _context.Install.Domain = _context.Parameters["domain"].ToLowerInvariant();
            }

            if (_context.Stub)
            {
                _context.Install.InstallationId  = Guid.Empty;
                _context.Install.InstallationKey = "SECRET_INSTALLATION_KEY";
            }
            else if (!ValidateInstallation())
            {
                return;
            }

            var certBuilder = new CertBuilder(_context);

            certBuilder.BuildForInstall();

            // Set the URL
            _context.Config.Url = string.Format("http{0}://{1}",
                                                _context.Config.Ssl ? "s" : string.Empty, _context.Install.Domain);

            var nginxBuilder = new NginxConfigBuilder(_context);

            nginxBuilder.BuildForInstaller();

            var environmentFileBuilder = new EnvironmentFileBuilder(_context);

            environmentFileBuilder.BuildForInstaller();

            var appIdBuilder = new AppIdBuilder(_context);

            appIdBuilder.Build();

            var assetLinksBuilder = new AssetLinksBuilder(_context);

            assetLinksBuilder.Build();

            var dockerComposeBuilder = new DockerComposeBuilder(_context);

            dockerComposeBuilder.BuildForInstaller();

            _context.SaveConfiguration();

            Console.WriteLine("\nInstallation complete");

            Console.WriteLine("\nIf you need to make additional configuration changes, you can modify\n" +
                              "the settings in `{0}` and then run:\n{1}",
                              _context.HostOS == "win" ? ".\\bwdata\\config.yml" : "./bwdata/config.yml",
                              _context.HostOS == "win" ? "`.\\bitwarden.ps1 -rebuild` or `.\\bitwarden.ps1 -update`" :
                              "`./bitwarden.sh rebuild` or `./bitwarden.sh update`");

            Console.WriteLine("\nNext steps, run:");
            if (_context.HostOS == "win")
            {
                Console.WriteLine("`.\\bitwarden.ps1 -start`");
            }
            else
            {
                Console.WriteLine("`./bitwarden.sh start`");
            }
            Console.WriteLine(string.Empty);
        }