bitwarden / server

Bitwarden infrastructure/backend (API, database, Docker, etc).
https://bitwarden.com
Other
15.66k stars 1.32k forks source link

Bitwarden support for Raspberry Pi / Odroid HC-1 - Docker Solution with less ressources or Nextcloud Integration #122

Closed ChriKn closed 6 years ago

ChriKn commented 7 years ago

As told in the title, the actual Docker solution requires some impressives ressources (4 GB of RAM) which seem a bit odd for a password management tool (speaking of a single-user-scenario of course). Tools like Nextcloud use up far less ressources while in Docker mode and provide solutions for plugins as an exemple.

Would it theoretically be possible to reduce the footprint of the docker module to work side by side with, let's say, a Nextcloud module on a Raspberry or even better an Odroid HC-1 which was really made for this scenario : https://magazine.odroid.com/article/odroid-hc1-and-odroid-mc1/ ?

Another solution could be a Nextcloud integration, effectly bringing bitwarden to a pretty huge community which already works around the principles of open-source / self-hostable software.

kspearrin commented 7 years ago

The self hosted solution we have today is basically a bundled version of exactly what we run the public bitwarden cloud with. This solution supports a very large amount of users and traffic and is definitely not optimized for use cases with a single user (or even several users).

The ram requirement is not really a side effect of docker, but from our database engine, sql server.

Maybe one day when we have the resources to fork the codebase (i.e database) to support multiple scenarios this can become a thing. For now though, it’s not really possible.

ChriKn commented 7 years ago

Thanks for the fast heads-up. This would indeed be great and probably bring some notoriety to the project, as self-hosting seems like a major selling point for your software. Hope to be there when it happens !

kspearrin commented 7 years ago

It seems in the next cumulative update for sql server on docker they are lowering the memory requirements to 2 GB. See https://github.com/Microsoft/mssql-docker/issues/114#issuecomment-332976038

OhjeezwhathaveIdone commented 7 years ago

@ChriKn indeed the ability to self host, at least for me, is the major selling point in Bitwarden as I'm not satisfied with the current syncing method in KeePass between Desktop and iOS as explained here and I wish to keep control of my data. Not to forget that there isn't an official KeePass application for iOS. I feel that these three issues combined is the reason why self hosting Bitwarden seems so appealing especially for single users/households.

With the increase in commonality of IoT devices and other services designed for them, PiHole is an example that springs to mind, I couldn't think of a better use case of such a device than Bitwarden and therefore I echo your comments however the down side of those is the limitation in RAM. Whilst I wouldn't be hosting it on such a device the memory I have to spare is extremely sparse and any reduction benefits me greatly.

I was going to update you with the information about Microsoft seeking to reduce the RAM requirement, so that I could share the excitement that I had of the news with you, however @kspearrin has beat me to it after I had posted it here.

ChriKn commented 7 years ago

@kspearrin @OhjeezwhathaveIdone There is allready a Password management solution for nextcloud : https://github.com/nextcloud/passman Maybe some collaboration could help bind the synergies and bring this thing to a closer reality ? Even with a 2 GB minimum (which would be great) I don't see myself buying another Odroid just to handle my passwords and get into a difficult docker swarm scenario...

shazow commented 6 years ago

I just read this article where the author wrote his own API backend by reverse engineering the default API.

It's written in Ruby and the spec is fairly well documented if anyone wants to make their own: https://github.com/jcs/bitwarden-ruby

efuquen commented 6 years ago

Was really excited about this project until I learned about this limitation when trying to run it on 512 MB DO droplet. It just doesn't make sense to pay $40 a month for a higher memory instance I wouldn't need otherwise just for a password manager.

I don't know much C#, but I dug enough to see that the .NET native SQL libraries, predictably, ties you in to SqlServer. Does not give me hope that any change to allow this to use a database with more sane memory requirements will come easily or any time soon.

sorcer1122 commented 6 years ago

I am also struggling to run it on my 2Gb machine, so look forward for updates as well. Is there any chance to use a different SQL backend? PostgreSQL?

twright-msft commented 6 years ago

As of SQL Server 2017 CU2 the minimum memory requirement has been lowered to 2 GB for the mssql-server-linux container image.

sorcer1122 commented 6 years ago

@twright-msft has this CU2 update been rolled out already by bitwarden?

twright-msft commented 6 years ago

@sorcer1122 Sorry, that I don't know. Somebody from the bitwarden team would need to comment on that.

kspearrin commented 6 years ago

CU2 will be rolled out next week.

kspearrin commented 6 years ago

v1.15.1 is now live with mssql CU2. RAM requirements for bitwarden are now 2GB.

sorcer1122 commented 6 years ago

Thanks a lot @kspearrin ! I am now able to run mssql without any issues.

ChriKn commented 6 years ago

Does Bitwarden have to fully use the 2GB or would it be possible to limit docker to using 512 MB or 1 GB ?

sorcer1122 commented 6 years ago

@ChriKn nope, on my system the usage is 1.7Gb (bitwarden + other apps)

ChriKn commented 6 years ago

@sorcer1122 I am using an Odroid HC1 with Nextcloudpi on it. Do you think a Bitwarden Docker would still work on it or would it eat up all the ressources ? Thanks for your help !

sorcer1122 commented 6 years ago

@ChriKn Unfortunately, I have got no clue. If you have got 2Gb+ RAM - should be fine.

ChriKn commented 6 years ago

@sorcer1122 It has 2Gb of RAM... I will try and report back ! Thanks all !

Pschittt commented 6 years ago

Hello, @ChriKn, so it works ? :)

RenonDis commented 6 years ago

@ChriKn up !

ChriKn commented 6 years ago

Sadly it doesn't as the odroid isn't arm64 and by the time I looked at it bitwarden only worked on arm64.

RenonDis notifications@github.com schrieb am Mo., 5. März 2018, 12:55:

@ChriKn https://github.com/chrikn up !

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bitwarden/core/issues/122#issuecomment-370396699, or mute the thread https://github.com/notifications/unsubscribe-auth/AFSnyqUAlOxtZzJUY3UXn7fMcXmmm4FDks5tbSefgaJpZM4QVM6s .

RenonDis commented 6 years ago

@ChriKn That's a fast answer! So you're staying with Nextcloud passman ?

ChriKn commented 6 years ago

I have gone with the standard Bitwarden for the moment (I trust them enough if they open the possibility to self host) and will come back to this when I have more time or the need for a bigger server (or find another solution)

RenonDis notifications@github.com schrieb am Mo., 5. März 2018, 12:59:

@ChriKn https://github.com/chrikn That's a fast answer! So you're staying with Nextcloud passman ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bitwarden/core/issues/122#issuecomment-370397623, or mute the thread https://github.com/notifications/unsubscribe-auth/AFSnyrg9XYhkqllIvTmmb_ZYYKaUh6XGks5tbSiagaJpZM4QVM6s .

kspearrin commented 6 years ago

Things are much better now with the lower RAM requirements of SQL Server.


We are moving away from tracking Bitwarden feature requests like this one as GitHub issues. We have created a Bitwarden Community Forum which has a section for submitting, voting for, and discussing product feature requests.

Please sign up on our forums, search to see if this request already exists. If so, you can vote for it and contribute to any discussions about it. If not, you can re-create the request there so that it can be properly tracked.

This issue will now be closed. Thanks!