1
0
mirror of https://github.com/bitwarden/server.git synced 2025-04-22 13:35:10 -05:00

renew lets encrypt cert on run

This commit is contained in:
Kyle Spearrin 2017-08-21 11:21:40 -04:00
parent 2cfea467d1
commit a0a5bffec9
6 changed files with 52 additions and 22 deletions

View File

@ -60,7 +60,7 @@ elseif($run -Or $restart) {
Download-Run-Files Download-Run-Files
} }
Invoke-Expression "$scriptsDir\run.ps1 -dockerDir $dockerDir" Invoke-Expression "$scriptsDir\run.ps1 -outputDir $output -dockerDir $dockerDir"
} }
elseif($update) { elseif($update) {
if(Test-Path -Path $dockerDir) { if(Test-Path -Path $dockerDir) {
@ -69,7 +69,7 @@ elseif($update) {
New-Item -ItemType directory -Path $dockerDir | Out-Null New-Item -ItemType directory -Path $dockerDir | Out-Null
Download-Run-Files Download-Run-Files
Invoke-Expression "$scriptsDir\run.ps1 -dockerDir $dockerDir" Invoke-Expression "$scriptsDir\run.ps1 -outputDir $output -dockerDir $dockerDir"
} }
elseif($updatedb) { elseif($updatedb) {
Invoke-RestMethod -OutFile $scriptsDir\update-db.ps1 -Uri "${githubBaseUrl}/scripts/update-db.ps1" Invoke-RestMethod -OutFile $scriptsDir\update-db.ps1 -Uri "${githubBaseUrl}/scripts/update-db.ps1"

View File

@ -67,7 +67,7 @@ then
mkdir $DOCKER_DIR mkdir $DOCKER_DIR
downloadRunFiles downloadRunFiles
fi fi
$SCRIPTS_DIR/run.sh $DOCKER_DIR $SCRIPTS_DIR/run.sh $OUTPUT $DOCKER_DIR
elif [ "$1" == "update" ] elif [ "$1" == "update" ]
then then
if [ -d "$DOCKER_DIR" ] if [ -d "$DOCKER_DIR" ]
@ -77,7 +77,7 @@ then
mkdir $DOCKER_DIR mkdir $DOCKER_DIR
downloadRunFiles downloadRunFiles
$SCRIPTS_DIR/run.sh $DOCKER_DIR $SCRIPTS_DIR/run.sh $OUTPUT $DOCKER_DIR
elif [ "$1" == "updatedb" ] elif [ "$1" == "updatedb" ]
then then
curl -s -o $SCRIPTS_DIR/update-db.sh $GITHUB_BASE_URL/scripts/update-db.sh curl -s -o $SCRIPTS_DIR/update-db.sh $GITHUB_BASE_URL/scripts/update-db.sh

View File

@ -9,8 +9,11 @@ if(!(Test-Path -Path $outputDir )){
docker --version docker --version
echo "" echo ""
[string]$letsEncrypt = "n"
[string]$domain = $( Read-Host "(!) Enter the domain name for your bitwarden instance (ex. bitwarden.company.com)" ) [string]$domain = $( Read-Host "(!) Enter the domain name for your bitwarden instance (ex. bitwarden.company.com)" )
[string]$letsEncrypt = $( Read-Host "(!) Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n)" )
if($domain -ne "localhost") {
$letsEncrypt = $( Read-Host "(!) Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n)" )
if($letsEncrypt -eq "y") { if($letsEncrypt -eq "y") {
[string]$email = $( Read-Host "(!) Enter your email address (Let's Encrypt will send you certificate expiration reminders)" ) [string]$email = $( Read-Host "(!) Enter your email address (Let's Encrypt will send you certificate expiration reminders)" )
@ -22,6 +25,7 @@ if($letsEncrypt -eq "y") {
docker run -it --rm --name certbot -p 80:80 -v $outputDir/letsencrypt:/etc/letsencrypt/ certbot/certbot ` docker run -it --rm --name certbot -p 80:80 -v $outputDir/letsencrypt:/etc/letsencrypt/ certbot/certbot `
certonly --standalone --noninteractive --agree-tos --preferred-challenges http --email $email -d $domain certonly --standalone --noninteractive --agree-tos --preferred-challenges http --email $email -d $domain
} }
}
docker run -it --rm --name setup -v ${outputDir}:/bitwarden bitwarden/setup ` docker run -it --rm --name setup -v ${outputDir}:/bitwarden bitwarden/setup `
dotnet Setup.dll -install 1 -domain ${domain} -letsencrypt ${letsEncrypt} dotnet Setup.dll -install 1 -domain ${domain} -letsencrypt ${letsEncrypt}

View File

@ -11,7 +11,11 @@ then
fi fi
mkdir -p $OUTPUT_DIR mkdir -p $OUTPUT_DIR
LETS_ENCRYPT="n"
read -p "(!) Enter the domain name for your bitwarden instance (ex. bitwarden.company.com): " DOMAIN read -p "(!) Enter the domain name for your bitwarden instance (ex. bitwarden.company.com): " DOMAIN
if [ "$DOMAIN" != "localhost" ]
then
read -p "(!) Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n): " LETS_ENCRYPT read -p "(!) Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n): " LETS_ENCRYPT
if [ "$LETS_ENCRYPT" == "y" ] if [ "$LETS_ENCRYPT" == "y" ]
@ -21,6 +25,7 @@ then
docker run -it --rm --name certbot -p 80:80 -v $OUTPUT_DIR/letsencrypt:/etc/letsencrypt/ certbot/certbot \ docker run -it --rm --name certbot -p 80:80 -v $OUTPUT_DIR/letsencrypt:/etc/letsencrypt/ certbot/certbot \
certonly --standalone --noninteractive --agree-tos --preferred-challenges http --email $EMAIL -d $DOMAIN certonly --standalone --noninteractive --agree-tos --preferred-challenges http --email $EMAIL -d $DOMAIN
fi fi
fi
docker run -it --rm --name setup -v $OUTPUT_DIR:/bitwarden bitwarden/setup \ docker run -it --rm --name setup -v $OUTPUT_DIR:/bitwarden bitwarden/setup \
dotnet Setup.dll -install 1 -domain $DOMAIN -letsencrypt $LETS_ENCRYPT dotnet Setup.dll -install 1 -domain $DOMAIN -letsencrypt $LETS_ENCRYPT

View File

@ -1,4 +1,5 @@
param ( param (
[string]$outputDir = "../.",
[string]$dockerDir = "" [string]$dockerDir = ""
) )
@ -10,5 +11,11 @@ if($dockerDir -eq "") {
docker --version docker --version
docker-compose --version docker-compose --version
$letsEncryptLivePath = "${outputDir}/letsencrypt/live"
if(Test-Path -Path $letsEncryptLivePath) {
docker run -it --rm --name certbot -p 443:443 -p 80:80 -v $outputDir/letsencrypt:/etc/letsencrypt/ certbot/certbot `
renew
}
docker-compose -f ${dockerDir}\docker-compose.yml -f ${dockerDir}\docker-compose.macwin.yml down docker-compose -f ${dockerDir}\docker-compose.yml -f ${dockerDir}\docker-compose.macwin.yml down
docker-compose -f ${dockerDir}\docker-compose.yml -f ${dockerDir}\docker-compose.macwin.yml up -d docker-compose -f ${dockerDir}\docker-compose.yml -f ${dockerDir}\docker-compose.macwin.yml up -d

View File

@ -2,10 +2,17 @@
set -e set -e
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
DOCKER_DIR=$DIR/../docker
OUTPUT_DIR="../."
if [ $# -eq 1 ] if [ $# -eq 1 ]
then then
DOCKER_DIR=$1 OUTPUT_DIR=$1
fi
DOCKER_DIR=$DIR/../docker
if [ $# -eq 2 ]
then
DOCKER_DIR=$2
fi fi
OS="linux" OS="linux"
@ -17,5 +24,12 @@ fi
docker --version docker --version
docker-compose --version docker-compose --version
LETS_ENCRYPT_LIVE = "${outputDir}/letsencrypt/live"
if [ -d "$LETS_ENCRYPT_LIVE" ]
then
docker run -it --rm --name certbot -p 443:443 -p 80:80 -v $OUTPUT_DIR/letsencrypt:/etc/letsencrypt/ certbot/certbot \
renew
fi
docker-compose -f $DOCKER_DIR/docker-compose.yml -f $DOCKER_DIR/docker-compose.$OS.yml down docker-compose -f $DOCKER_DIR/docker-compose.yml -f $DOCKER_DIR/docker-compose.$OS.yml down
docker-compose -f $DOCKER_DIR/docker-compose.yml -f $DOCKER_DIR/docker-compose.$OS.yml up -d docker-compose -f $DOCKER_DIR/docker-compose.yml -f $DOCKER_DIR/docker-compose.$OS.yml up -d