Bitwarden - Self-hosted password manager
-
@necrevistonnezr Ah interesting, good to know you figured that out then. Normally when that error is seen (I came across it quite a lot when setting up new environments on Cloudron as I learned the platform), it was always because I had already defined a "www" subdomain in my DNS provider, for example, so it then needed me to remove it before it could create it automatically by itself.
-
Ok. So I think I've just figured out the email issue, but don't have a fix yet.
When using the non-smtps connection, the logs show that
lettre
, the Rust email library that Bitwarden_rs uses, recognizes that the server supports several authentication methods, includingAuthentication(Plain)
, which is whatswacks
uses when successfully sending on the same port. However,lettre
refuses to use it because we aren't using an encrypted connection and it doesn't want to send credentials in the clear. (Checked here, defined as empty here).Unfortunately, using smtps is not a solution either because it appears that
lettre
is trying to validate the certificate, but that certificate is invalid.A patch to Bitwarden_rs may be required to tell
lettre
to allow sending credentials over an insecure connection using this method or by telling it to accept insecure certs.I'm working on a patch for Bitwarden_rs to allow insecure SSL connections so that it will accept a self signed cert.
-
@iamthefij there is one already at https://github.com/dani-garcia/bitwarden_rs/tree/master/docker/amd64/mysql
-
-
@fbartels well, I guess I didn't look hard enough! (Edit: Looks like the 1.10.0 release was only 2 hours ago. No wonder I missed it. ) It would be good to roll those all into one image with multiple tags, but I can chat with them about that on Matrix.
Anyway, adding the multi-stage build wasn't terribly hard and cuts out an extra dependency on that build pipeline, which is probably a good thing for a security sensitive project.
Latest on my master is now fully operational. Working email, working ldap sync, working MySQL.
BIG WARNING! There is no migration path from SQLite to MySQL. You should export your vault to CSV or something and then re-import it after migration.
-
@iamthefij Maybe the migration scripts by the author work that are mentioned here?
* Start bitwarden_rs with and empty mysql database, so diesel can run migrations and set up the schema properly. Do not do anything else. * Stop bitwarden_rs. * Dump your existing sqlite database: sqlite3 db.sqlite3 .dump > sqlitedump.sql * Drop schema creation and diesel metadata from your dump, leaving only your actual data: grep "INSERT INTO" sqlitedump.sql | grep -v "__diesel_schema_migrations" > mysqldump.sql * Load your MySQL dump: mysql -u bitwarden -p bitwarden < mysqldump.sql * Start bitwarden_rs ĖĖĖ
-
@necrevistonnezr I saw that. Yea, it's possible to do, but it's not something that I think is worth automating given that it could be a bit finicky.
If someone wants to do this, they are welcome to try using the console.
I'm planning to just export and re-import myself.
-
@iamthefij but import / export does not work for attachments, right? Or are these somehow migrateable?
-
@necrevistonnezr hmm. I've got no clue. I don't have any attachments and only use Bitwarden to manage passwords.
-
@iamthefij I've used your build with fixed emails and ldap and it installed well however I'm not sure how to get in.
Bitwarden asks for email so I supply email corresponding to my Cloudron login and Cloudron's password but it says username or password is invalid. Can you suggest something?
-
@jimcavoli We will take this up next week since we are working on getting 4.2 out this week. Will follow up with @iamthefij on what the status is.
-
@girish it should be good to go. My branch is working with MySQL and LDAP.
I've got two working
Dockerfile
s. One that compiles the entire project and another that just pulls the binary from the published images on Docker Hub. End result is the same.