Added Wiki for Linux Proxmox and div. Software-installs
This commit is contained in:
parent
d47f1dc602
commit
741584446c
17 changed files with 4537 additions and 0 deletions
252
Software-Install/Bitwarden/Install.md
Normal file
252
Software-Install/Bitwarden/Install.md
Normal file
|
@ -0,0 +1,252 @@
|
|||
# Install and Deploy - Linux
|
||||
|
||||
This article will walk you through the procedure to install and deploy Bitwarden to your own Linux server. Bitwarden can also be installed and deployed on [Windows](https://wiki.zenndev.xyz/#help/install-on-premise-windows/) machines.
|
||||
|
||||
## System specifications
|
||||
|
||||
| | Minimum | Recommended |
|
||||
| -------------- | ---------------------------- | ---------------------------- |
|
||||
| Processor | x64, 1.4GHz | x64, 2GHz dual core |
|
||||
| Memory | 2GB RAM | 4GB RAM |
|
||||
| Storage | 12GB | 25GB |
|
||||
| Docker Version | Engine 19+ and Compose 1.24+ | Engine 19+ and Compose 1.24+ |
|
||||
|
||||
> #### **TIP**
|
||||
>
|
||||
> If you are looking for a quality provider with affordable prices, we recommend DigitalOcean. [Get started today](https://marketplace.digitalocean.com/apps/bitwarden) or read our [blog post about Bitwarden on DigitalOcean](https://wiki.zenndev.xyz/#blog/digitalocean-marketplace/).
|
||||
|
||||
## TL;DR
|
||||
|
||||
The following is a summary of the installation procedure in this article. Links in this section will jump to detailed **Installation procedure** sections:
|
||||
|
||||
[**Configure your domain**](https://wiki.zenndev.xyz/#software-install/bitwarden/#configure-your-domain). Set DNS records for a domain name pointing to your machine, and open ports 80 and 443 on the machine.
|
||||
|
||||
[**Install Docker and Docker Compose**](https://wiki.zenndev.xyz/#software-install/bitwarden/#install-docker-and-docker-compose) on your machine.
|
||||
|
||||
[**Create a Bitwarden user & directory**](https://wiki.zenndev.xyz/#software-install/bitwarden/#create-bitwarden-local-user--directory) from which to complete installation.
|
||||
|
||||
Retrieve an installation id and key from [**https://bitwarden.com/host**](https://wiki.zenndev.xyz/#host/) for use in installation.
|
||||
|
||||
> For more information, see [What are my installation id and installation key used for?](https://wiki.zenndev.xyz/#help/hosting-faqs/#general)
|
||||
|
||||
[**Install Bitwarden**](https://wiki.zenndev.xyz/#software-install/bitwarden/#install-bitwarden) on your machine.
|
||||
|
||||
[**Configure your environment**](https://wiki.zenndev.xyz/#software-install/bitwarden/#post-install-configuration) by adjusting settings in `./bwdata/env/global.override.env`.
|
||||
|
||||
> #### **TIP**
|
||||
>
|
||||
> At a minimum, configure the `globalSettings__mail__smtp...` variables to setup an email server for inviting and verifying users.
|
||||
|
||||
[**Start your instance**](https://wiki.zenndev.xyz/#software-install/bitwarden/#start-bitwarden).
|
||||
|
||||
Test your installation by opening your configured domain in a web browser.
|
||||
|
||||
Once deployed, we recommend regularly [backing up your server](https://wiki.zenndev.xyz/#help/backup-on-premise/) and [checking for system updates](https://wiki.zenndev.xyz/#help/updating-on-premise/).
|
||||
|
||||
# Installation procedure
|
||||
|
||||
## Configure your domain
|
||||
|
||||
By default, Bitwarden will be served through ports 80 (`http`) and 443 (`https`) on the host machine. Open these ports so that Bitwarden can be accessed from within and/or outside of the network. You may opt to choose different ports during installation.
|
||||
|
||||
We recommend configuring a domain name with DNS records that point to your host machine (for example, `bitwarden.example.com`), especially if you are serving Bitwarden over the internet.
|
||||
|
||||
## Install Docker and Docker Compose
|
||||
|
||||
Bitwarden will be deployed and run on your machine using an array of [Docker containers](https://docs.docker.com/get-started/). Bitwarden can be run with any Docker edition or plan. Evaluate which edition is best for your installation.
|
||||
|
||||
Deployment of containers is orchestrated using [Docker Compose](https://docs.docker.com/compose/). Some Docker installations, including Docker for macOS, come with Docker Compose already installed.
|
||||
|
||||
**Install Docker and Docker Compose on your machine before proceeding with installation.** Refer to the following Docker documentation for help:
|
||||
|
||||
[Install Docker Engine](https://docs.docker.com/engine/installation/)
|
||||
|
||||
[Install Docker Compose](https://docs.docker.com/compose/install/)
|
||||
|
||||
## Create Bitwarden local user & directory
|
||||
|
||||
We recommend configuring your Linux server with a dedicated `bitwarden` service account, from which to install and run Bitwarden. Doing so will isolate your Bitwarden instance from other applications running on your server.
|
||||
|
||||
**These steps are Bitwarden-recommended best practices, but are not required.** For more information, see Docker's [Post-installation steps for Linux](https://docs.docker.com/engine/install/linux-postinstall/) documentation.
|
||||
|
||||
Create a bitwarden user:
|
||||
|
||||
```
|
||||
sudo adduser bitwarden
|
||||
```
|
||||
|
||||
Set password for bitwarden user (strong password):
|
||||
|
||||
```
|
||||
sudo passwd bitwarden
|
||||
```
|
||||
|
||||
Create a docker group (if it doesn't already exist):
|
||||
|
||||
```
|
||||
sudo groupadd docker
|
||||
```
|
||||
|
||||
Add the bitwarden user to the docker group:
|
||||
|
||||
```
|
||||
sudo usermod -aG docker bitwarden
|
||||
```
|
||||
|
||||
Create a bitwarden directory:
|
||||
|
||||
```
|
||||
sudo mkdir /opt/bitwarden
|
||||
```
|
||||
|
||||
Set permissions for the `/opt/bitwarden` directory:
|
||||
|
||||
```
|
||||
sudo chmod -R 700 /opt/bitwarden
|
||||
```
|
||||
|
||||
Set the bitwarden user as owner of the `/opt/bitwarden` directory:
|
||||
|
||||
```
|
||||
sudo chown -R bitwarden:bitwarden /opt/bitwarden
|
||||
```
|
||||
|
||||
## Install Bitwarden
|
||||
|
||||
Bitwarden provides a shell script for easy installation on Linux and macOS (Bash), or Windows (PowerShell). Complete the following steps to install Bitwarden using the shell script:
|
||||
|
||||
> #### **TIP**
|
||||
>
|
||||
> If you have [created a Bitwarden user & directory](https://wiki.zenndev.xyz/#software-install/bitwarden/#create-bitwarden-local-user--directory), complete the following as the `bitwarden` user from the `/opt/bitwarden` directory.
|
||||
|
||||
Download the Bitwarden installation script (`bitwarden.sh`) to your machine:
|
||||
|
||||
```
|
||||
curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh && chmod 700 bitwarden.sh
|
||||
```
|
||||
|
||||
Run the installer script. A `./bwdata` directory will be created relative to the location of `bitwarden.sh`.
|
||||
|
||||
```
|
||||
./bitwarden.sh install
|
||||
```
|
||||
|
||||
Complete the prompts in the installer:
|
||||
|
||||
**Enter the domain name for your Bitwarden instance:**
|
||||
|
||||
Typically, this value should be the configured DNS record.
|
||||
|
||||
**Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n):**
|
||||
|
||||
Specify `y` to generate a trusted SSL certificate using Let's Encrypt. You will be prompted to enter an email address for expiration reminders from Let's Encrypt. For more information, see [Certificate Options](https://wiki.zenndev.xyz/#help/certificates/).
|
||||
|
||||
Alternatively, specify `n` and use the **Do you have a SSL certificate to use?** option.
|
||||
|
||||
**Enter your installation id:**
|
||||
|
||||
Retrieve an installation id using a valid email at [https://bitwarden.com/host](https://wiki.zenndev.xyz/#host/). For more information, see [what are my installation id and installation key used for?](https://wiki.zenndev.xyz/#help/hosting-faqs/#general)
|
||||
|
||||
**Enter your installation key:**
|
||||
|
||||
Retrieve an installation key using a valid email at [https://bitwarden.com/host](https://wiki.zenndev.xyz/#host/). For more information, see [What are my installation id and installation key used for?](https://wiki.zenndev.xyz/#help/hosting-faqs/#general)
|
||||
|
||||
**Do you have a SSL certificate to use? (y/n):**
|
||||
|
||||
If you already have your own SSL certificate, specify `y` and place the necessary files in the `./bwdata/ssl/your.domain` directory. You will be asked whether it is a trusted SSL certificate (y/n). For more information, see [Certificate Options](https://wiki.zenndev.xyz/#help/certificates/).
|
||||
|
||||
Alternatively, specify `n` and use the **self-signed SSL certificate?** option, which is only recommended for testing purposes.
|
||||
|
||||
**Do you want to generate a self-signed SSL certificate? (y/n):**
|
||||
|
||||
Specify `y` to have Bitwarden generate a self-signed certificate for you. This option is only recommended for testing. For more information, see [Certificate Options](https://wiki.zenndev.xyz/#help/certificates/).
|
||||
|
||||
If you specify `n`, your instance will not use an SSL certificate and you will be required to front your installation with a HTTPS proxy, or else Bitwarden applications will not function properly.
|
||||
|
||||
# Post-install configuration
|
||||
|
||||
Configuring your environment can involve making changes to two files; an [environment variables file](https://wiki.zenndev.xyz/#software-install/bitwarden/#environment-variables) and an [installation file](https://wiki.zenndev.xyz/#software-install/bitwarden/#installation-configuration):
|
||||
|
||||
## Environment variables (_required_)
|
||||
|
||||
Some features of Bitwarden are not configured by the `bitwarden.sh` script. Configure these settings by editing the environment file, located at `./bwdata/env/global.override.env`. **At a minimum, you should replace the values for:**
|
||||
|
||||
```
|
||||
...
|
||||
globalSettings__mail__smtp__host=<placeholder>
|
||||
globalSettings__mail__smtp__port=<placeholder>
|
||||
globalSettings__mail__smtp__ssl=<placeholder>
|
||||
globalSettings__mail__smtp__username=<placeholder>
|
||||
globalSettings__mail__smtp__password=<placeholder>
|
||||
...
|
||||
adminSettings__admins=
|
||||
...
|
||||
```
|
||||
|
||||
Replace `globalSettings__mail__smtp...=` placeholders to connect to the SMTP mail server that will be used to send verification emails to new users and invitations to organizations. Adding an email address to `adminSettings__admins=` will provision access to the admin portal.
|
||||
|
||||
After editing `global.override.env`, run the following command to apply your changes:
|
||||
|
||||
```
|
||||
./bitwarden.sh restart
|
||||
```
|
||||
|
||||
## Installation file
|
||||
|
||||
The Bitwarden installation script uses settings in `./bwdata/config.yml` to generate the necessary assets for installation. Some installation scenarios (such as installations behind a proxy with alternate ports) may require adjustments to `config.yml` that were not provided during standard installation.
|
||||
|
||||
Edit `config.yml` as necessary and apply your changes by running:
|
||||
|
||||
```
|
||||
./bitwarden.sh rebuild
|
||||
```
|
||||
|
||||
## Start Bitwarden
|
||||
|
||||
Once you have completed all previous steps, start your Bitwarden instance:
|
||||
|
||||
```
|
||||
./bitwarden.sh start
|
||||
```
|
||||
|
||||
## note
|
||||
|
||||
The first time you start Bitwarden it may take some time as it downloads all of the images from Docker Hub.
|
||||
|
||||
Verify that all containers are running correctly:
|
||||
|
||||
```
|
||||
docker ps
|
||||
```
|
||||
|
||||
Congratulations! Bitwarden is now up and running at `https://your.domain.com`. Visit the web vault in your web browser to confirm that it's working.
|
||||
|
||||
You may now register a new account and log in. You will need to have configured `smtp` environment variables (see [Environment Variables](https://wiki.zenndev.xyz/#help/environment-variables/)) in order to verify the email for your new account.
|
||||
|
||||
> #### **TIP**
|
||||
>
|
||||
> Once deployed, we recommend regularly [backing up your server](https://wiki.zenndev.xyz/#help/backup-on-premise/) and [checking for system updates](https://wiki.zenndev.xyz/#help/updating-on-premise/).
|
||||
|
||||
## Script commands reference
|
||||
|
||||
The Bitwarden installation script (`bitwarden.sh` or `bitwarden.ps1`) has the following commands available:
|
||||
|
||||
## note
|
||||
|
||||
PowerShell users will run the commands with a prefixed `-` (switch). For example `.\bitwarden.ps1 -start`.
|
||||
|
||||
| Command | Description |
|
||||
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| install | Start the installer. |
|
||||
| start | Start all containers. |
|
||||
| restart | Restart all containers (same as start). |
|
||||
| stop | Stop all containers. |
|
||||
| update | Update all containers and the database. |
|
||||
| updatedb | Update/initialize the database. |
|
||||
| updaterun | Update the `run.sh` file. |
|
||||
| updateself | Update this main script. |
|
||||
| updateconf | Update all containers without restarting the running instance. |
|
||||
| uninstall | Before this command executes, you will be prompted to save database files. `y` will create a tarfile of your database including the most recent backup. Stops containers, deletes the `bwdata` directory and all its contents, and removes ephemeral volumes. After executing, you will be asked whether you also want to purge all Bitwarden images. |
|
||||
| renewcert | Renew certificates. |
|
||||
| rebuild | Rebuild generated installation assets from `config.yml`. |
|
||||
| help | List all commands. |
|
Loading…
Add table
Add a link
Reference in a new issue