Improved docker-compose and Install script

Feature name:

Improved docker-compose and Install script

Feature Description

Goal

Bitwarden docker services are easy to manage and maintain. There is a good overview on the services and their environment variables. The service can be easily put behind a reverse-proxy in docker container without much overhead.

Short:

  • Remove overhead, simplify Installation, update
  • Make bitwarden installation compatible with other docker services
  • Seperate environment variables for each service
  • Easily change versions and bitwarden base path

Current

The current installation script for docker has several scripts that have overlapping functions. In addition they add C# code which needs compilation but It could be easily simplified into a bash script, etc. . It also overlaps with docker-compose functionality itself. The hole process could be simplified, made easier to read, maintain and compatible with other docker services.

Clients / Repos Affected:

  • Server

Note

Not sure If I should contribute this, but I would surely need some help/introduction over each service functionality.

Timeline to completion (estimate):

ETA: 3w

Thanks for being the first topic, @Pulsar!

Could you dive a little deeper with the scripts you’d change and potentially eliminate C# code from?

Anything that makes installing Bitwarden easier, better, faster, (stronger?) is always something to consider! :metal:

You also need to remember that users are installing Bitwarden on Windows, macOS, and Linux. Bash scripting will not work on all environments, which is why we have the setup container that runs C# code.

Hello @tgreer & @kspearrin,
I would say, I have a quite different approach, as a demonstration (still early phase) check the repo link below (as I could not think of a better explanation for it :slight_smile: ).
In short, the C# code would be eliminated entirely in the setup process. Of course, I might have missed something, therefore I hope by your feedback to fill out all the requirements. And of course if any, it should be better, not just different.

I hope you will like it.