Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. Bitwarden - Self-hosted password manager

Bitwarden - Self-hosted password manager

Scheduled Pinned Locked Moved Solved App Wishlist
218 Posts 20 Posters 129.0k Views 29 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • iamthefijI Offline
    iamthefijI Offline
    iamthefij
    App Dev
    wrote on last edited by
    #78

    Started digging back into email sending and got closer.

    I just noticed that the Cloudron docs say that the STARTLS uses a self signed cert, which makes sense given that the host I'm using is mail and not my.example.com.

    So I switched back to unencrypted and enabled more verbose logging. Ended up with:

    Jul 25 16:34:22 [2019-07-25 16:34:22][rocket::rocket][INFO] POST /admin//invite/ application/json:
    Jul 25 16:34:22 [2019-07-25 16:34:22][_][INFO] Matched: POST /admin/invite (invite_user)
    Jul 25 16:34:22 [2019-07-25 16:34:22][lettre::smtp::client][DEBUG] connecting to 172.18.0.6:2525
    Jul 25 16:34:22 [2019-07-25 16:34:22][lettre::smtp::client][DEBUG] Read: 220 my.example.com ESMTP Haraka/2.8.23 ready<CRLF>
    Jul 25 16:34:22 [2019-07-25 16:34:22][lettre::smtp][INFO] connection established to 172.18.0.6:2525
    Jul 25 16:34:22 [2019-07-25 16:34:22][lettre::smtp::client][DEBUG] Wrote: EHLO 90859b46-d863-4609-a83a-79c5f010254c<CRLF>
    Jul 25 16:34:22 [2019-07-25 16:34:22][lettre::smtp::client][DEBUG] Read: 250-my.example.com Hello 90859b46-d863-4609-a83a-79c5f010254c.cloudron [172.18.0.12]Haraka is at your service.<CRLF>250-PIPELINING<CRLF>250-8BITMIME<CRLF>250-SMTPUTF8<CRLF>250-SIZE 26214400<CRLF>250 AUTH LOGIN PLAIN<CRLF>
    Jul 25 16:34:22 [2019-07-25 16:34:22][lettre::smtp][DEBUG] server my.example.com with {Authentication(Login), Authentication(Plain), SmtpUtfEight, EightBitMime}
    Jul 25 16:34:22 [2019-07-25 16:34:22][lettre::smtp][INFO] No supported authentication mechanisms available
    Jul 25 16:34:22 [2019-07-25 16:34:22][lettre::smtp::client][DEBUG] Wrote: MAIL FROM:<bitwarden.app@example.com> BODY=8BITMIME SMTPUTF8<CRLF>
    Jul 25 16:34:22 [2019-07-25 16:34:22][lettre::smtp::client][DEBUG] Read: 550 Mail from domain 'example.com' is not allowed from your host<CRLF>
    Jul 25 16:34:22 [2019-07-25 16:34:22][lettre::smtp::client][DEBUG] Wrote: QUIT<CRLF>
    Jul 25 16:34:22 [2019-07-25 16:34:22][lettre::smtp::client][DEBUG] Read: 221 my.example.com closing connection. Have a jolly good day.<CRLF>
    Jul 25 16:34:22 [2019-07-25 16:34:22][bitwarden_rs::error][ERROR] Error sending email. Mail from domain 'example.com' is not allowed from your host
    Jul 25 16:34:22 [2019-07-25 16:34:22][_][INFO] Outcome: Success
    Jul 25 16:34:22 172.18.0.1 - User [25/Jul/2019:16:34:22 +0000] "POST /admin/invite/ HTTP/1.1" 400 990 "https://bitwarden.example.com/admin" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Firefox/68.0"
    Jul 25 16:34:22 [2019-07-25 16:34:22][_][INFO] Response succeeded.
    Jul 25 16:34:24 [Thu Jul 25 16:34:24.254775 2019] [access_compat:error] [pid 32] [client 172.18.0.1:37122] AH01797: client denied by server configuration: proxy:http://127.0.0.1:3000/admin/
    

    So this is definitely more descriptive. Seems like the server is rejecting the request.

    1 Reply Last reply
    0
    • girishG Offline
      girishG Offline
      girish
      Staff
      wrote on last edited by
      #79

      : 550 Mail from domain 'example.com' is not allowed from your host<CRLF>

      Can you check if the email for example.com is not set to Disabled under the outbound relay email settings?

      1 Reply Last reply
      0
      • necrevistonnezrN Offline
        necrevistonnezrN Offline
        necrevistonnezr
        wrote on last edited by
        #80

        Tried updating the bitwardenrs-app today to its current domain; usually it would just install (and upgrade) the app. Today I got the following error:

        āžœ cloudron install
        ERROR (node:9463) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification. [ internal/process/warning.js:27:3 ]
        Location: bit
        ERROR Failed to install app. Domain 'bitwarden.domain.com' is in use [ /Users/user/.nvm/versions/node/v12.7.0/lib/node_modules/cloudron/src/helper.js:68:29 ]
        
        necrevistonnezrN 1 Reply Last reply
        0
        • necrevistonnezrN necrevistonnezr

          Tried updating the bitwardenrs-app today to its current domain; usually it would just install (and upgrade) the app. Today I got the following error:

          āžœ cloudron install
          ERROR (node:9463) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification. [ internal/process/warning.js:27:3 ]
          Location: bit
          ERROR Failed to install app. Domain 'bitwarden.domain.com' is in use [ /Users/user/.nvm/versions/node/v12.7.0/lib/node_modules/cloudron/src/helper.js:68:29 ]
          
          necrevistonnezrN Offline
          necrevistonnezrN Offline
          necrevistonnezr
          wrote on last edited by
          #81

          Tried with the LTS node version today - still the same error "Domain is in use". Anyone have an idea why?

          1 Reply Last reply
          0
          • girishG Offline
            girishG Offline
            girish
            Staff
            wrote on last edited by
            #82

            @necrevistonnezr You have to delete the DNS entry manually in the DNS provider. What's hapenned is that the dns already has an entry for the subdomain. Cloudron will never overwrite existing DNS records.

            This is getting fixed with https://git.cloudron.io/cloudron/box/issues/644. Cloudron will then overwrite DNS entries with that flag set.

            If the above is not the issue, maybe there is another app on that subdomain? (Also, check any redirects you have to set for other apps).

            necrevistonnezrN 1 Reply Last reply
            0
            • girishG girish

              @necrevistonnezr You have to delete the DNS entry manually in the DNS provider. What's hapenned is that the dns already has an entry for the subdomain. Cloudron will never overwrite existing DNS records.

              This is getting fixed with https://git.cloudron.io/cloudron/box/issues/644. Cloudron will then overwrite DNS entries with that flag set.

              If the above is not the issue, maybe there is another app on that subdomain? (Also, check any redirects you have to set for other apps).

              necrevistonnezrN Offline
              necrevistonnezrN Offline
              necrevistonnezr
              wrote on last edited by
              #83

              @girish said in Bitwarden - Self-hosted password manager:

              @necrevistonnezr You have to delete the DNS entry manually in the DNS provider. What's hapenned is that the dns already has an entry for the subdomain. Cloudron will never overwrite existing DNS records.

              Where am I supposed to delete the DNS entry? Is the "DNS provider" something in the cloudron control panel?

              I have no other apps / redirects regarding that subdomain.

              d19dotcaD 1 Reply Last reply
              0
              • necrevistonnezrN necrevistonnezr

                @girish said in Bitwarden - Self-hosted password manager:

                @necrevistonnezr You have to delete the DNS entry manually in the DNS provider. What's hapenned is that the dns already has an entry for the subdomain. Cloudron will never overwrite existing DNS records.

                Where am I supposed to delete the DNS entry? Is the "DNS provider" something in the cloudron control panel?

                I have no other apps / redirects regarding that subdomain.

                d19dotcaD Offline
                d19dotcaD Offline
                d19dotca
                wrote on last edited by
                #84

                @necrevistonnezr - He means delete the DNS entry from your DNS service provider itself for the domain. So if you already have bitwarden.domain.com in your DNS listing for your domain, then remove the bitwarden entry and then re-create with Cloudron.

                --
                Dustin Dauncey
                www.d19.ca

                necrevistonnezrN 1 Reply Last reply
                0
                • d19dotcaD d19dotca

                  @necrevistonnezr - He means delete the DNS entry from your DNS service provider itself for the domain. So if you already have bitwarden.domain.com in your DNS listing for your domain, then remove the bitwarden entry and then re-create with Cloudron.

                  necrevistonnezrN Offline
                  necrevistonnezrN Offline
                  necrevistonnezr
                  wrote on last edited by necrevistonnezr
                  #85

                  @d19dotca said in Bitwarden - Self-hosted password manager:

                  @necrevistonnezr - He means delete the DNS entry from your DNS service provider itself for the domain. So if you already have bitwarden.domain.com in your DNS listing for your domain, then remove the bitwarden entry and then re-create with Cloudron.

                  That was not the issue since I did not have a subdomain entry in my DNS settings (I have a wildcard DNS entry). The issue was that cloudron-cli was not able to connect to my cloudron properly (TLS, https issues) for reasons I don't know (I told support about it).

                  After using cloudron login --allow-selfsigned I was able to build and update the bitwarden...

                  d19dotcaD 1 Reply Last reply
                  0
                  • necrevistonnezrN necrevistonnezr

                    @d19dotca said in Bitwarden - Self-hosted password manager:

                    @necrevistonnezr - He means delete the DNS entry from your DNS service provider itself for the domain. So if you already have bitwarden.domain.com in your DNS listing for your domain, then remove the bitwarden entry and then re-create with Cloudron.

                    That was not the issue since I did not have a subdomain entry in my DNS settings (I have a wildcard DNS entry). The issue was that cloudron-cli was not able to connect to my cloudron properly (TLS, https issues) for reasons I don't know (I told support about it).

                    After using cloudron login --allow-selfsigned I was able to build and update the bitwarden...

                    d19dotcaD Offline
                    d19dotcaD Offline
                    d19dotca
                    wrote on last edited by
                    #86

                    @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.

                    --
                    Dustin Dauncey
                    www.d19.ca

                    1 Reply Last reply
                    0
                    • iamthefijI Offline
                      iamthefijI Offline
                      iamthefij
                      App Dev
                      wrote on last edited by
                      #87

                      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, including Authentication(Plain), which is what swacks 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.

                      iamthefijI 1 Reply Last reply
                      0
                      • iamthefijI Offline
                        iamthefijI Offline
                        iamthefij
                        App Dev
                        wrote on last edited by
                        #88

                        Also, it looks like MySQL support is available now. Once I get all the email support sorted out, I'll try to roll that in as well.

                        1 Reply Last reply
                        1
                        • iamthefijI iamthefij

                          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, including Authentication(Plain), which is what swacks 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.

                          iamthefijI Offline
                          iamthefijI Offline
                          iamthefij
                          App Dev
                          wrote on last edited by
                          #89

                          @iamthefij Ok. My bitwarden_rs patch works. I'm going to submit that upstream.

                          1 Reply Last reply
                          0
                          • girishG Offline
                            girishG Offline
                            girish
                            Staff
                            wrote on last edited by
                            #90

                            @iamthefij Talking to yourself again šŸ™‚ ?

                            1 Reply Last reply
                            1
                            • iamthefijI Offline
                              iamthefijI Offline
                              iamthefij
                              App Dev
                              wrote on last edited by
                              #91

                              On another note... There is no Docker image built for MySQL support yet, so I'm writing a new Dockerfile that uses a multi stage built to compile Bitwarden_rs with MySQL support.

                              fbartelsF 1 Reply Last reply
                              0
                              • iamthefijI iamthefij

                                On another note... There is no Docker image built for MySQL support yet, so I'm writing a new Dockerfile that uses a multi stage built to compile Bitwarden_rs with MySQL support.

                                fbartelsF Offline
                                fbartelsF Offline
                                fbartels
                                App Dev
                                wrote on last edited by
                                #92

                                @iamthefij there is one already at https://github.com/dani-garcia/bitwarden_rs/tree/master/docker/amd64/mysql

                                iamthefijI 1 Reply Last reply
                                0
                                • fbartelsF fbartels

                                  @iamthefij there is one already at https://github.com/dani-garcia/bitwarden_rs/tree/master/docker/amd64/mysql

                                  iamthefijI Offline
                                  iamthefijI Offline
                                  iamthefij
                                  App Dev
                                  wrote on last edited by
                                  #93

                                  @fbartels yes. But not an image on Docker Hub that I can pull from. Instead I'm building a multistage build that looks a lot like that Dockerfile but with the an LDAP layer and the Cloudron layer.

                                  fbartelsF 1 Reply Last reply
                                  0
                                  • iamthefijI iamthefij

                                    @fbartels yes. But not an image on Docker Hub that I can pull from. Instead I'm building a multistage build that looks a lot like that Dockerfile but with the an LDAP layer and the Cloudron layer.

                                    fbartelsF Offline
                                    fbartelsF Offline
                                    fbartels
                                    App Dev
                                    wrote on last edited by
                                    #94

                                    @iamthefij it's here https://hub.docker.com/r/bitwardenrs/server-mysql

                                    iamthefijI 1 Reply Last reply
                                    0
                                    • fbartelsF fbartels

                                      @iamthefij it's here https://hub.docker.com/r/bitwardenrs/server-mysql

                                      iamthefijI Offline
                                      iamthefijI Offline
                                      iamthefij
                                      App Dev
                                      wrote on last edited by iamthefij
                                      #95

                                      @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.

                                      https://git.cloudron.io/iamthefij/bitwardenrs-app

                                      necrevistonnezrN 1 Reply Last reply
                                      1
                                      • iamthefijI iamthefij

                                        @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.

                                        https://git.cloudron.io/iamthefij/bitwardenrs-app

                                        necrevistonnezrN Offline
                                        necrevistonnezrN Offline
                                        necrevistonnezr
                                        wrote on last edited by necrevistonnezr
                                        #96

                                        @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
                                        ˋˋˋ
                                        iamthefijI 1 Reply Last reply
                                        0
                                        • necrevistonnezrN necrevistonnezr

                                          @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
                                          ˋˋˋ
                                          iamthefijI Offline
                                          iamthefijI Offline
                                          iamthefij
                                          App Dev
                                          wrote on last edited by
                                          #97

                                          @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.

                                          necrevistonnezrN 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Bookmarks
                                          • Search