grav/pages/06.bitwarden/docs.md

52 lines
1.6 KiB
Markdown
Raw Normal View History

---
title: Bitwarden
---
### 1. Prepare the environment
1.1 Create custom webapp called `warden` in the control panel
1.2 Configure Ruby 2.4 by editing `~/.bash_aliases` and adding these aliases
```sh
alias ruby=ruby2.4
alias gem=gem2.4
```
1.3 Install the bundle gem
```sh
gem install bundle
```
### 2. Install Bitwarden Ruby into the directory
```sh
cd ~/webapps
clone https://github.com/jcs/bitwarden-ruby.git warden
cd warden
bundle install
```
### 3. Start / Stop / Restart and Cron scripts
3.1 `Start` script where `$PORT` is the port of the custom webapp
```sh
#!/bin/sh
pgrep -f "ruby2.4 /home/tanshu/gems/bin/rackup -p $PORT config.ru" > /dev/null 2>&1 && exit 0
mkdir -p /home/tanshu/webapps/warden/run
cd /home/tanshu/webapps/warden
nohup env RACK_ENV=production bundle exec rackup -p $PORT config.ru > /dev/null 2>&1 &
sleep 3
pgrep -f "ruby2.4 /home/tanshu/gems/bin/rackup -p $PORT config.ru" > /home/tanshu/webapps/warden/run/ruby.pid
```
3.2 `Stop` script where `$PORT` is the port of the custom webapp
```sh
#!/bin/sh
/usr/bin/pkill -f "ruby2.4 /home/tanshu/gems/bin/rackup -p $PORT config.ru" && rm -f /home/tanshu/webapps/warden/run/ruby.pid
```
3.3 `Restart` script
```sh
#!/bin/bash
$HOME/webapps/warden/bin/stop
sleep 3
$HOME/webapps/warden/bin/start
```
3.4 Edit crontab using `export VISUAL=nano; crontab -e` and add the following line
```sh
*/20 * * * * ~/webapps/warden/bin/start
```
### 4. Backup your database
4.1 Install gdrive to backup the database to google account in case of data loss at webfaction
Go to `https://github.com/prasmussen/gdrive` and download `gdrive-linux-x64` in `~/bin/`