diff --git a/scripts/setup.ps1 b/scripts/setup.ps1 index 3eefc3ed6a..b84415dd34 100644 --- a/scripts/setup.ps1 +++ b/scripts/setup.ps1 @@ -1,20 +1,28 @@ param ( - [string]$outputDir = "c:/bitwarden", - [string]$domain = $( Read-Host "Enter your domain name (i.e. bitwarden.company.com)" ), - [string]$email = $( Read-Host "Enter your email address" ), - [string]$letsencrypt = $( Read-Host "Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n)" ) + [string]$outputDir = "c:/bitwarden" ) +if(!(Test-Path -Path $outputDir )){ + New-Item -ItemType directory -Path $outputDir +} + docker --version -$dockerDir="../docker" +[string]$domain = $( Read-Host "Enter the domain name for bitwarden (ex. bitwarden.company.com)" ) +[string]$letsEncrypt = $( Read-Host "Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n)" ) + $databasePassword=-join ((48..57) + (97..122) | Get-Random -Count 32 | % {[char]$_}) -if($letsencrypt -eq "y") { - mkdir -p $outputDir/letsencrypt/live/$domain +if($letsEncrypt -eq "y") { + [string]$email = $( Read-Host "Enter your email address (Let's Encrypt will send you certificate expiration reminders)" ) + + $letsEncryptPath = "${outputDir}/letsencrypt/live/${domain}" + if(!(Test-Path -Path $letsEncryptPath )){ + New-Item -ItemType directory -Path $letsEncryptPath + } docker run -it --rm -p 80:80 -v $outputDir/letsencrypt:/etc/letsencrypt/ certbot/certbot certonly --standalone --noninteractive --preferred-challenges http --email $email --agree-tos -d $domain } -docker run -it --rm -v ${outputDir}:/bitwarden bitwarden/setup dotnet Setup.dll -domain ${domain} -letsencrypt ${letsencrypt} -db_pass ${databasePassword} +docker run -it --rm -v ${outputDir}:/bitwarden bitwarden/setup dotnet Setup.dll -domain ${domain} -letsencrypt ${letsEncrypt} -db_pass ${databasePassword} echo "Setup complete" diff --git a/scripts/setup.sh b/scripts/setup.sh index 89aab21936..5581d7ee45 100644 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -1,20 +1,25 @@ #!/usr/bin/env bash set -e -echo "Please enter your domain name (i.e. bitwarden.company.com): " -read DOMAIN -echo -e "\nPlease enter your email address: " -read EMAIL -echo -e "\nDo you want to use Let's Encrypt to generate a free SSL certificate (y/n)? " -read LETS_ENCRYPT - OUTPUT_DIR=/etc/bitwarden -DATABASE_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9