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
  • Brite
  • 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. Vaultwarden
  3. Vaultwarden fails to start after update – DB migration error (SSO)

Vaultwarden fails to start after update – DB migration error (SSO)

Scheduled Pinned Locked Moved Solved Vaultwarden
32 Posts 16 Posters 499 Views 17 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.
  • jdaviescoatesJ jdaviescoates

    @archos said in Vaultwarden fails to start after update – DB migration error (SSO):

    After updating the Vaultwarden app on Cloudron

    From/ to which version?

    jamesJ Offline
    jamesJ Offline
    james
    Staff
    wrote last edited by
    #20

    Hello @jdaviescoates
    From version Cloudron package version 1.22.2 => Vaultwarden Version 1.34.3 to Cloudron package version 1.23.0 => Vaultwarden Version 1.35.0

    jdaviescoatesJ 1 Reply Last reply
    1
    • jamesJ james has marked this topic as solved
    • jamesJ james

      Hello @jdaviescoates
      From version Cloudron package version 1.22.2 => Vaultwarden Version 1.34.3 to Cloudron package version 1.23.0 => Vaultwarden Version 1.35.0

      jdaviescoatesJ Offline
      jdaviescoatesJ Offline
      jdaviescoates
      wrote last edited by
      #21

      @james OK, thanks. Looks like that is the pending update I have. Is there anyway to avoid having to do the fix above post update? Might another Cloudron package be released that has the fix?

      I use Cloudron with Gandi & Hetzner

      jamesJ 1 Reply Last reply
      0
      • M Offline
        M Offline
        mazarian
        wrote last edited by
        #22

        Thank you! This saved me a lot of time and fixed the issue. I followed your steps and appreciated the ChatGPT workaround. 🙂

        1 Reply Last reply
        2
        • jdaviescoatesJ jdaviescoates

          @james OK, thanks. Looks like that is the pending update I have. Is there anyway to avoid having to do the fix above post update? Might another Cloudron package be released that has the fix?

          jamesJ Offline
          jamesJ Offline
          james
          Staff
          wrote last edited by
          #23

          Hello @jdaviescoates

          @jdaviescoates said in Vaultwarden fails to start after update – DB migration error (SSO):

          Might another Cloudron package be released that has the fix?

          A fresh Vaultwarden installation will not have this issue.
          About including a fix within the package.
          We will have to look into it.

          1 Reply Last reply
          0
          • jamesJ Offline
            jamesJ Offline
            james
            Staff
            wrote last edited by
            #24

            Hello @vaultwarden users

            Since users have voiced their concerns about manually editing the database I have created a bash script that does it for you.
            Please follow these steps if you have this issue:

            1. create an app backup of your @vaultwarden Cloudron app
            2. put the erroring @vaultwarden app in recovery mode
            3. open the File Manager of your @vaultwarden app and create a fix_db.sh file
            4. copy and paste the following script into the just created fix_db.sh file:
              #!/bin/bash
              
              echo "=> Checking if DEFAULT_CHARACTER_SET_NAME and DEFAULT_COLLATION_NAME are set to utf8mb4 and utf8mb4_unicode_ci"
              
              CURRENT_DEFAULT_CHARACTER_SET_NAME=$(mysql --silent --skip-column-names --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "SELECT DEFAULT_CHARACTER_SET_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '${CLOUDRON_MYSQL_DATABASE}';" 2>/dev/null)
              CURRENT_DEFAULT_COLLATION_NAME=$(mysql --silent --skip-column-names --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '${CLOUDRON_MYSQL_DATABASE}';" 2>/dev/null)
              FIX_NEEDED=0
              
              if [ "${CURRENT_DEFAULT_CHARACTER_SET_NAME}" != "utf8mb4" ] || [ "${CURRENT_DEFAULT_COLLATION_NAME}" != "utf8mb4_unicode_ci" ]; then
                  echo "=> DEFAULT_CHARACTER_SET_NAME or DEFAULT_COLLATION_NAME is not set to utf8mb4 or utf8mb4_unicode_ci."
                  echo "==> Current values are: DEFAULT_CHARACTER_SET_NAME=${CURRENT_DEFAULT_CHARACTER_SET_NAME}, DEFAULT_COLLATION_NAME=${CURRENT_DEFAULT_COLLATION_NAME}"
                  FIX_NEEDED=1
              else
                  echo "=> DEFAULT_CHARACTER_SET_NAME is ${CURRENT_DEFAULT_CHARACTER_SET_NAME} and DEFAULT_COLLATION_NAME is ${CURRENT_DEFAULT_COLLATION_NAME}"
                  echo "=> Nothing to do - quitting."
                  FIX_NEEDED=0
                  exit 0
              fi
              
              if [ ${FIX_NEEDED} -eq 1 ]; then
                  read -p "Have you created a backup of your Cloudron Vaultwarden app? (y/N): " yn
                  case $yn in
                      [Yy]* )
                          echo "=> Setting database character set and collation to utf8mb4 and utf8mb4_unicode_ci."
                          mysql --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "ALTER DATABASE \`${CLOUDRON_MYSQL_DATABASE}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" 2>/dev/null
                          echo "=> Converting all tables to character set utf8mb4 and collation utf8mb4_unicode_ci."
                          mysql --silent --skip-column-names \
                --user="${CLOUDRON_MYSQL_USERNAME}" \
                --password="${CLOUDRON_MYSQL_PASSWORD}" \
                --host="${CLOUDRON_MYSQL_HOST}" \
                "${CLOUDRON_MYSQL_DATABASE}" \
                -e "SELECT CONCAT('ALTER TABLE \`', TABLE_NAME,'\` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;') AS CharSetConvert FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='${CLOUDRON_MYSQL_DATABASE}' AND TABLE_TYPE=\"BASE TABLE\";" 2>/dev/null | while read -r sql_command; do
                              echo "==> Executing: ${sql_command}"
                              mysql --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "SET foreign_key_checks=0; ${sql_command} SET foreign_key_checks=1;" 2>/dev/null
                          done
                          ;;
                      [Nn]* )
                          echo "=> Please create a backup of your database before proceeding with the fix. Exiting."
                          exit 1
                          ;;
                      * )
                          echo "=> Invalid response. Please answer with y or n. Exiting."
                          exit 1
                          ;;
                  esac
              fi
              
            5. open the Web Terminal of your @vaultwarden Cloudron app
            6. execute the following command:
              bash /app/data/fix_db.sh
              
            7. Execute the following command to start @vaultwarden:
              /app/pkg/start.sh
              
            8. Validate if your @vaultwarden is now working correctly
            9. If validated working, you can delete the fix_db.sh file and disable the recovery mode of your @vaultwarden Cloudron app

            If you run into any issues, copy the output of the terminal, post it here and restore your app from the backup created.

            andreasduerenA S GrienauerG 3 Replies Last reply
            8
            • E Offline
              E Offline
              ekevu123
              wrote last edited by
              #25

              I confirm this works!

              1 Reply Last reply
              3
              • jamesJ james

                Hello @vaultwarden users

                Since users have voiced their concerns about manually editing the database I have created a bash script that does it for you.
                Please follow these steps if you have this issue:

                1. create an app backup of your @vaultwarden Cloudron app
                2. put the erroring @vaultwarden app in recovery mode
                3. open the File Manager of your @vaultwarden app and create a fix_db.sh file
                4. copy and paste the following script into the just created fix_db.sh file:
                  #!/bin/bash
                  
                  echo "=> Checking if DEFAULT_CHARACTER_SET_NAME and DEFAULT_COLLATION_NAME are set to utf8mb4 and utf8mb4_unicode_ci"
                  
                  CURRENT_DEFAULT_CHARACTER_SET_NAME=$(mysql --silent --skip-column-names --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "SELECT DEFAULT_CHARACTER_SET_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '${CLOUDRON_MYSQL_DATABASE}';" 2>/dev/null)
                  CURRENT_DEFAULT_COLLATION_NAME=$(mysql --silent --skip-column-names --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '${CLOUDRON_MYSQL_DATABASE}';" 2>/dev/null)
                  FIX_NEEDED=0
                  
                  if [ "${CURRENT_DEFAULT_CHARACTER_SET_NAME}" != "utf8mb4" ] || [ "${CURRENT_DEFAULT_COLLATION_NAME}" != "utf8mb4_unicode_ci" ]; then
                      echo "=> DEFAULT_CHARACTER_SET_NAME or DEFAULT_COLLATION_NAME is not set to utf8mb4 or utf8mb4_unicode_ci."
                      echo "==> Current values are: DEFAULT_CHARACTER_SET_NAME=${CURRENT_DEFAULT_CHARACTER_SET_NAME}, DEFAULT_COLLATION_NAME=${CURRENT_DEFAULT_COLLATION_NAME}"
                      FIX_NEEDED=1
                  else
                      echo "=> DEFAULT_CHARACTER_SET_NAME is ${CURRENT_DEFAULT_CHARACTER_SET_NAME} and DEFAULT_COLLATION_NAME is ${CURRENT_DEFAULT_COLLATION_NAME}"
                      echo "=> Nothing to do - quitting."
                      FIX_NEEDED=0
                      exit 0
                  fi
                  
                  if [ ${FIX_NEEDED} -eq 1 ]; then
                      read -p "Have you created a backup of your Cloudron Vaultwarden app? (y/N): " yn
                      case $yn in
                          [Yy]* )
                              echo "=> Setting database character set and collation to utf8mb4 and utf8mb4_unicode_ci."
                              mysql --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "ALTER DATABASE \`${CLOUDRON_MYSQL_DATABASE}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" 2>/dev/null
                              echo "=> Converting all tables to character set utf8mb4 and collation utf8mb4_unicode_ci."
                              mysql --silent --skip-column-names \
                    --user="${CLOUDRON_MYSQL_USERNAME}" \
                    --password="${CLOUDRON_MYSQL_PASSWORD}" \
                    --host="${CLOUDRON_MYSQL_HOST}" \
                    "${CLOUDRON_MYSQL_DATABASE}" \
                    -e "SELECT CONCAT('ALTER TABLE \`', TABLE_NAME,'\` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;') AS CharSetConvert FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='${CLOUDRON_MYSQL_DATABASE}' AND TABLE_TYPE=\"BASE TABLE\";" 2>/dev/null | while read -r sql_command; do
                                  echo "==> Executing: ${sql_command}"
                                  mysql --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "SET foreign_key_checks=0; ${sql_command} SET foreign_key_checks=1;" 2>/dev/null
                              done
                              ;;
                          [Nn]* )
                              echo "=> Please create a backup of your database before proceeding with the fix. Exiting."
                              exit 1
                              ;;
                          * )
                              echo "=> Invalid response. Please answer with y or n. Exiting."
                              exit 1
                              ;;
                      esac
                  fi
                  
                5. open the Web Terminal of your @vaultwarden Cloudron app
                6. execute the following command:
                  bash /app/data/fix_db.sh
                  
                7. Execute the following command to start @vaultwarden:
                  /app/pkg/start.sh
                  
                8. Validate if your @vaultwarden is now working correctly
                9. If validated working, you can delete the fix_db.sh file and disable the recovery mode of your @vaultwarden Cloudron app

                If you run into any issues, copy the output of the terminal, post it here and restore your app from the backup created.

                andreasduerenA Offline
                andreasduerenA Offline
                andreasdueren
                wrote last edited by andreasdueren
                #26

                @james this won’t fix the issue of logging everyone out though I assume?

                Edit: just saw the newest update.

                1 Reply Last reply
                2
                • jamesJ james

                  Hello @vaultwarden users

                  Since users have voiced their concerns about manually editing the database I have created a bash script that does it for you.
                  Please follow these steps if you have this issue:

                  1. create an app backup of your @vaultwarden Cloudron app
                  2. put the erroring @vaultwarden app in recovery mode
                  3. open the File Manager of your @vaultwarden app and create a fix_db.sh file
                  4. copy and paste the following script into the just created fix_db.sh file:
                    #!/bin/bash
                    
                    echo "=> Checking if DEFAULT_CHARACTER_SET_NAME and DEFAULT_COLLATION_NAME are set to utf8mb4 and utf8mb4_unicode_ci"
                    
                    CURRENT_DEFAULT_CHARACTER_SET_NAME=$(mysql --silent --skip-column-names --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "SELECT DEFAULT_CHARACTER_SET_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '${CLOUDRON_MYSQL_DATABASE}';" 2>/dev/null)
                    CURRENT_DEFAULT_COLLATION_NAME=$(mysql --silent --skip-column-names --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '${CLOUDRON_MYSQL_DATABASE}';" 2>/dev/null)
                    FIX_NEEDED=0
                    
                    if [ "${CURRENT_DEFAULT_CHARACTER_SET_NAME}" != "utf8mb4" ] || [ "${CURRENT_DEFAULT_COLLATION_NAME}" != "utf8mb4_unicode_ci" ]; then
                        echo "=> DEFAULT_CHARACTER_SET_NAME or DEFAULT_COLLATION_NAME is not set to utf8mb4 or utf8mb4_unicode_ci."
                        echo "==> Current values are: DEFAULT_CHARACTER_SET_NAME=${CURRENT_DEFAULT_CHARACTER_SET_NAME}, DEFAULT_COLLATION_NAME=${CURRENT_DEFAULT_COLLATION_NAME}"
                        FIX_NEEDED=1
                    else
                        echo "=> DEFAULT_CHARACTER_SET_NAME is ${CURRENT_DEFAULT_CHARACTER_SET_NAME} and DEFAULT_COLLATION_NAME is ${CURRENT_DEFAULT_COLLATION_NAME}"
                        echo "=> Nothing to do - quitting."
                        FIX_NEEDED=0
                        exit 0
                    fi
                    
                    if [ ${FIX_NEEDED} -eq 1 ]; then
                        read -p "Have you created a backup of your Cloudron Vaultwarden app? (y/N): " yn
                        case $yn in
                            [Yy]* )
                                echo "=> Setting database character set and collation to utf8mb4 and utf8mb4_unicode_ci."
                                mysql --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "ALTER DATABASE \`${CLOUDRON_MYSQL_DATABASE}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" 2>/dev/null
                                echo "=> Converting all tables to character set utf8mb4 and collation utf8mb4_unicode_ci."
                                mysql --silent --skip-column-names \
                      --user="${CLOUDRON_MYSQL_USERNAME}" \
                      --password="${CLOUDRON_MYSQL_PASSWORD}" \
                      --host="${CLOUDRON_MYSQL_HOST}" \
                      "${CLOUDRON_MYSQL_DATABASE}" \
                      -e "SELECT CONCAT('ALTER TABLE \`', TABLE_NAME,'\` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;') AS CharSetConvert FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='${CLOUDRON_MYSQL_DATABASE}' AND TABLE_TYPE=\"BASE TABLE\";" 2>/dev/null | while read -r sql_command; do
                                    echo "==> Executing: ${sql_command}"
                                    mysql --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "SET foreign_key_checks=0; ${sql_command} SET foreign_key_checks=1;" 2>/dev/null
                                done
                                ;;
                            [Nn]* )
                                echo "=> Please create a backup of your database before proceeding with the fix. Exiting."
                                exit 1
                                ;;
                            * )
                                echo "=> Invalid response. Please answer with y or n. Exiting."
                                exit 1
                                ;;
                        esac
                    fi
                    
                  5. open the Web Terminal of your @vaultwarden Cloudron app
                  6. execute the following command:
                    bash /app/data/fix_db.sh
                    
                  7. Execute the following command to start @vaultwarden:
                    /app/pkg/start.sh
                    
                  8. Validate if your @vaultwarden is now working correctly
                  9. If validated working, you can delete the fix_db.sh file and disable the recovery mode of your @vaultwarden Cloudron app

                  If you run into any issues, copy the output of the terminal, post it here and restore your app from the backup created.

                  S Offline
                  S Offline
                  sangemaru
                  wrote last edited by
                  #27

                  @james I also confirm this worked.

                  1 Reply Last reply
                  1
                  • murgeroM Offline
                    murgeroM Offline
                    murgero
                    App Dev
                    wrote last edited by
                    #28

                    Confirming this fix worked however the latest package version still doesn't fix this problem.

                    --
                    https://urgero.org
                    ~ Professional Nerd. Freelance Programmer. ~

                    1 Reply Last reply
                    0
                    • jdaviescoatesJ Offline
                      jdaviescoatesJ Offline
                      jdaviescoates
                      wrote last edited by
                      #29

                      @james said in Vaultwarden fails to start after update – DB migration error (SSO):

                      From version Cloudron package version 1.22.2 => Vaultwarden Version 1.34.3 to Cloudron package version 1.23.0 => Vaultwarden Version 1.35.0

                      Despite my worries and concerns, I never actually hit this problem. Guess I was lucky. But I wonder why? 🤔 🤷

                      My Vaultwarden started fine after doing that update. And then I immediately updated to the next version without issue too. 🤔 🤷

                      I use Cloudron with Gandi & Hetzner

                      1 Reply Last reply
                      0
                      • jamesJ james

                        Hello @vaultwarden users

                        Since users have voiced their concerns about manually editing the database I have created a bash script that does it for you.
                        Please follow these steps if you have this issue:

                        1. create an app backup of your @vaultwarden Cloudron app
                        2. put the erroring @vaultwarden app in recovery mode
                        3. open the File Manager of your @vaultwarden app and create a fix_db.sh file
                        4. copy and paste the following script into the just created fix_db.sh file:
                          #!/bin/bash
                          
                          echo "=> Checking if DEFAULT_CHARACTER_SET_NAME and DEFAULT_COLLATION_NAME are set to utf8mb4 and utf8mb4_unicode_ci"
                          
                          CURRENT_DEFAULT_CHARACTER_SET_NAME=$(mysql --silent --skip-column-names --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "SELECT DEFAULT_CHARACTER_SET_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '${CLOUDRON_MYSQL_DATABASE}';" 2>/dev/null)
                          CURRENT_DEFAULT_COLLATION_NAME=$(mysql --silent --skip-column-names --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '${CLOUDRON_MYSQL_DATABASE}';" 2>/dev/null)
                          FIX_NEEDED=0
                          
                          if [ "${CURRENT_DEFAULT_CHARACTER_SET_NAME}" != "utf8mb4" ] || [ "${CURRENT_DEFAULT_COLLATION_NAME}" != "utf8mb4_unicode_ci" ]; then
                              echo "=> DEFAULT_CHARACTER_SET_NAME or DEFAULT_COLLATION_NAME is not set to utf8mb4 or utf8mb4_unicode_ci."
                              echo "==> Current values are: DEFAULT_CHARACTER_SET_NAME=${CURRENT_DEFAULT_CHARACTER_SET_NAME}, DEFAULT_COLLATION_NAME=${CURRENT_DEFAULT_COLLATION_NAME}"
                              FIX_NEEDED=1
                          else
                              echo "=> DEFAULT_CHARACTER_SET_NAME is ${CURRENT_DEFAULT_CHARACTER_SET_NAME} and DEFAULT_COLLATION_NAME is ${CURRENT_DEFAULT_COLLATION_NAME}"
                              echo "=> Nothing to do - quitting."
                              FIX_NEEDED=0
                              exit 0
                          fi
                          
                          if [ ${FIX_NEEDED} -eq 1 ]; then
                              read -p "Have you created a backup of your Cloudron Vaultwarden app? (y/N): " yn
                              case $yn in
                                  [Yy]* )
                                      echo "=> Setting database character set and collation to utf8mb4 and utf8mb4_unicode_ci."
                                      mysql --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "ALTER DATABASE \`${CLOUDRON_MYSQL_DATABASE}\` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" 2>/dev/null
                                      echo "=> Converting all tables to character set utf8mb4 and collation utf8mb4_unicode_ci."
                                      mysql --silent --skip-column-names \
                            --user="${CLOUDRON_MYSQL_USERNAME}" \
                            --password="${CLOUDRON_MYSQL_PASSWORD}" \
                            --host="${CLOUDRON_MYSQL_HOST}" \
                            "${CLOUDRON_MYSQL_DATABASE}" \
                            -e "SELECT CONCAT('ALTER TABLE \`', TABLE_NAME,'\` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;') AS CharSetConvert FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='${CLOUDRON_MYSQL_DATABASE}' AND TABLE_TYPE=\"BASE TABLE\";" 2>/dev/null | while read -r sql_command; do
                                          echo "==> Executing: ${sql_command}"
                                          mysql --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} -e "SET foreign_key_checks=0; ${sql_command} SET foreign_key_checks=1;" 2>/dev/null
                                      done
                                      ;;
                                  [Nn]* )
                                      echo "=> Please create a backup of your database before proceeding with the fix. Exiting."
                                      exit 1
                                      ;;
                                  * )
                                      echo "=> Invalid response. Please answer with y or n. Exiting."
                                      exit 1
                                      ;;
                              esac
                          fi
                          
                        5. open the Web Terminal of your @vaultwarden Cloudron app
                        6. execute the following command:
                          bash /app/data/fix_db.sh
                          
                        7. Execute the following command to start @vaultwarden:
                          /app/pkg/start.sh
                          
                        8. Validate if your @vaultwarden is now working correctly
                        9. If validated working, you can delete the fix_db.sh file and disable the recovery mode of your @vaultwarden Cloudron app

                        If you run into any issues, copy the output of the terminal, post it here and restore your app from the backup created.

                        GrienauerG Offline
                        GrienauerG Offline
                        Grienauer
                        wrote last edited by
                        #30

                        @james Hi thx. But how to use the web terminal if it is not starting/responding? At least this is the Problem on my side currently. So I can not execute any commands there…

                        Drupal CMS and Open Source Expert, Mautic Community lead Secretary

                        andreasduerenA 1 Reply Last reply
                        0
                        • GrienauerG Grienauer

                          @james Hi thx. But how to use the web terminal if it is not starting/responding? At least this is the Problem on my side currently. So I can not execute any commands there…

                          andreasduerenA Offline
                          andreasduerenA Offline
                          andreasdueren
                          wrote last edited by
                          #31

                          @Grienauer You need to put it into recovery mode, execure the script, take it out of it again

                          1 Reply Last reply
                          0
                          • GrienauerG Offline
                            GrienauerG Offline
                            Grienauer
                            wrote last edited by
                            #32

                            Yes, this did the trick. Thank you.
                            Crazy superfast response from you btw. thx!

                            Drupal CMS and Open Source Expert, Mautic Community lead Secretary

                            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