Coder Social home page Coder Social logo

bitwarden_rs_heroku's Introduction

Bitwarden_rs on Heroku for Free!

Deploy Bitwarden_rs in Heroku for free via Github1

GitHub Workflow Status (branch) GitHub Workflow Status (branch)

Features

  • Build and deploy cutomized Bitwarden_rs image from source to Heroku via Github actions
  • Add global Duo Security enablement for replica deployment as needed
  • Maintanable updates with Git Hash for future updates
  • Easily extendable for future tweaks

Usage

Usage is simply, fast, and user friendly!

Deployment

  1. Create a fork of this project
  2. Create a new deploy branch with current forked contents of main branch.
  3. Edit the .github/workflows/main.yml to enable/disable Duo and/or modify the checkout hash of bitwarden_rs upstream.
  4. Go to your forked repo Settings > Secrets and add secrets for:
  • HEROKU_EMAIL (the email you used to sign up for Heroku)
  • HEROKU_API_KEY (yoru Heroku API key - can be found in Account Setings -> APi Keys)
  • HEROKU_APP_NAME (the name of the Heroku application, this must be unqiue across Heroku and will fail if it is not)
  1. Commit and push your deploy branch back to your forked repo.
  2. Github Actions will run the job and begin deploying the app. This will take around 15 minutes.
  3. Congrats, you now having a fully functional Bitwarden_rs instance in Heroku!

Update

Updating is simple and can be done one of two ways:

  • Running the workflow manually via Github Actions
  • Making a commit to the main branch, forcing a Github Actions workflow to initiate

Either one of these will force the Github Actions workflow to run and update the app. If you need to modify to enable/disable settings, you shoudl re run it as well.

Why this was started

In this issues request, someone had inquired if it was possible to install Bitwarden_rs in Heroku. Unfortunately the dev team had not done this before and someone had tried but was unsccessful (due to port binding issues).

As my Bitwarden instance is a critical part of my daily workflow and part of acceptance from users in my group whom I need to share passwords with, high availability services are also an important part. I run a replica of Bitwarden on a cheap cloud server where I also take backups as well to S3, but seeing Heroku have a generous free tier, I was inclined to try this out!

Notes to consider

Your Bitwarden instance will go to sleep after 30 minutes of no activity. This should not be too bad of an issue due to the fact that you can maintain a local copy. However if you are adding, you may wish to have a cron job which polls your instance to keep it avaliable (read: Pingdom set to 15 minute intervals or any website status checker).

The JawsDB instance comes with 5MB of storage space. I found this sufficient enough for my own personal backups even with 700+ entries, two orgs, and 4 members. You may find if you are attaching content, that you might exceed this but I suggest attach files in base64 encoded content to preserve portability.

bitwarden_rs_heroku's People

Contributors

davidjameshowell avatar bbvv77 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.