You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.5 KiB
64 lines
2.5 KiB
using System; |
|
using System.IO; |
|
|
|
namespace Bit.Setup |
|
{ |
|
public class EnvironmentFileBuilder |
|
{ |
|
public string Url { get; set; } |
|
public string Domain { get; set; } |
|
public string IdentityCertPassword { get; set; } |
|
public Guid? InstallationId { get; set; } |
|
public string InstallationKey { get; set; } |
|
public bool Push { get; set; } |
|
public string DatabasePassword { get; set; } |
|
public string OutputDirectory { get; set; } |
|
|
|
public void Build() |
|
{ |
|
Console.WriteLine("Building docker environment override files."); |
|
Directory.CreateDirectory("/bitwarden/env/"); |
|
var dbConnectionString = Helpers.MakeSqlConnectionString("mssql", "vault", "sa", DatabasePassword); |
|
|
|
using(var sw = File.CreateText("/bitwarden/env/global.override.env")) |
|
{ |
|
sw.Write($@"globalSettings__baseServiceUri__vault={Url} |
|
globalSettings__baseServiceUri__api={Url}/api |
|
globalSettings__baseServiceUri__identity={Url}/identity |
|
globalSettings__sqlServer__connectionString=""{dbConnectionString}"" |
|
globalSettings__identityServer__certificatePassword={IdentityCertPassword} |
|
globalSettings__attachment__baseDirectory={OutputDirectory}/core/attachments |
|
globalSettings__attachment__baseUrl={Url}/attachments |
|
globalSettings__dataProtection__directory={OutputDirectory}/core/aspnet-dataprotection |
|
globalSettings__logDirectory={OutputDirectory}/core/logs |
|
globalSettings__licenseDirectory={OutputDirectory}/core/licenses |
|
globalSettings__duo__aKey={Helpers.SecureRandomString(64, alpha: true, numeric: true)} |
|
globalSettings__installation__id={InstallationId} |
|
globalSettings__installation__key={InstallationKey} |
|
globalSettings__yubico__clientId=REPLACE |
|
globalSettings__yubico__key=REPLACE |
|
globalSettings__mail__replyToEmail=no-reply@{Domain} |
|
globalSettings__mail__smtp__host=REPLACE |
|
globalSettings__mail__smtp__username=REPLACE |
|
globalSettings__mail__smtp__password=REPLACE |
|
globalSettings__mail__smtp__ssl=true |
|
globalSettings__mail__smtp__port=587 |
|
globalSettings__mail__smtp__useDefaultCredentials=false |
|
globalSettings__disableUserRegistration=false"); |
|
|
|
if(!Push) |
|
{ |
|
sw.Write(@" |
|
globalSettings__pushRelayBaseUri=REPLACE"); |
|
} |
|
} |
|
|
|
using(var sw = File.CreateText("/bitwarden/env/mssql.override.env")) |
|
{ |
|
sw.Write($@"ACCEPT_EULA=Y |
|
MSSQL_PID=Express |
|
SA_PASSWORD={DatabasePassword}"); |
|
} |
|
} |
|
} |
|
}
|
|
|