diff --git a/docker/docker-compose.mac.yml b/docker/docker-compose.mac.yml new file mode 100644 index 0000000000..b184d43551 --- /dev/null +++ b/docker/docker-compose.mac.yml @@ -0,0 +1,35 @@ +version: '3' + +services: + mssql: + volumes: + - mssql_data:/var/opt/mssql/data + env_file: + - mssql.env + - /etc/bitwarden/docker/mssql.override.env + web: + volumes: + - /etc/bitwarden/web:/etc/bitwarden/web + attachments: + volumes: + - /etc/bitwarden/core/attachments:/etc/bitwarden/core/attachments + api: + volumes: + - /etc/bitwarden/core:/etc/bitwarden/core + env_file: + - global.env + - /etc/bitwarden/docker/global.override.env + identity: + volumes: + - /etc/bitwarden/identity:/etc/bitwarden/identity + - /etc/bitwarden/core:/etc/bitwarden/core + env_file: + - global.env + - /etc/bitwarden/docker/global.override.env + nginx: + volumes: + - /etc/bitwarden/nginx:/etc/bitwarden/nginx + - /etc/bitwarden/letsencrypt:/etc/letsencrypt + - /etc/bitwarden/ssl:/etc/ssl +volumes: + mssql_data: diff --git a/scripts/run-mac.sh b/scripts/run-mac.sh new file mode 100644 index 0000000000..0be1d073ed --- /dev/null +++ b/scripts/run-mac.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -e + +DIR="$(dirname $(readlink -f $0))" +DOCKER_DIR=$DIR/../docker + +docker --version +docker-compose --version + +docker-compose -f $DOCKER_DIR/docker-compose.yml -f $DOCKER_DIR/docker-compose.mac.yml down +docker-compose -f $DOCKER_DIR/docker-compose.yml -f $DOCKER_DIR/docker-compose.mac.yml up -d diff --git a/scripts/run.sh b/scripts/run.sh index b17f17fc4a..f01612c33c 100644 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -7,5 +7,5 @@ DOCKER_DIR=$DIR/../docker docker --version docker-compose --version -docker-compose -f $DOCKER_DIR/docker-compose.yml -f $DOCKER_DIR/docker-compose.windows.yml down -docker-compose -f $DOCKER_DIR/docker-compose.yml -f $DOCKER_DIR/docker-compose.windows.yml up -d +docker-compose -f $DOCKER_DIR/docker-compose.yml -f $DOCKER_DIR/docker-compose.linux.yml down +docker-compose -f $DOCKER_DIR/docker-compose.yml -f $DOCKER_DIR/docker-compose.linux.yml up -d diff --git a/scripts/setup.ps1 b/scripts/setup.ps1 index 1ce111e4d9..1849036c80 100644 --- a/scripts/setup.ps1 +++ b/scripts/setup.ps1 @@ -8,21 +8,23 @@ if(!(Test-Path -Path $outputDir )){ docker --version -[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)" ) +[string]$installId = $( Read-Host "(!) Enter your installation id (get it at https://bitwarden.com/host/)" ) +[string]$installKey = $( Read-Host "(!) Enter your installation key" ) +[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)" ) $databasePassword=-join ((48..57) + (97..122) | Get-Random -Count 32 | % {[char]$_}) 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)" ) $letsEncryptPath = "${outputDir}/letsencrypt/live/${domain}" if(!(Test-Path -Path $letsEncryptPath )){ New-Item -ItemType directory -Path $letsEncryptPath } - docker run -it --rm --name letsencrypt -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 --name certbot -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 --name setup -v ${outputDir}:/bitwarden bitwarden/setup dotnet Setup.dll -domain ${domain} -letsencrypt ${letsEncrypt} -db_pass ${databasePassword} +docker run -it --rm --name setup -v ${outputDir}:/bitwarden bitwarden/setup dotnet Setup.dll -domain ${domain} -letsencrypt ${letsEncrypt} -db_pass ${databasePassword} -install_id $installId -install_key $installKey echo "Setup complete" diff --git a/scripts/setup.sh b/scripts/setup.sh index 5581d7ee45..e5b566d0a4 100644 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -6,21 +6,25 @@ mkdir -p $OUTPUT_DIR docker --version -echo "Enter the domain name for bitwarden (ex. bitwarden.company.com): " +echo "(!) Enter your installation id (get it at https://bitwarden.com/host/): " +read INSTALL_ID +echo -e "\n(!) Enter your installation key: " +read INSTALL_KEY +echo -e "\n(!) Enter the domain name for your bitwarden instance (ex. bitwarden.company.com): " read DOMAIN -echo -e "\nDo you want to use Let's Encrypt to generate a free SSL certificate? (y/n): " +echo -e "\n(!) Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n): " read LETS_ENCRYPT DATABASE_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9