Updating on AWS Elastic Beanstalk

When updating to 0.41.5 from 0.38.2 following the instructions here it completely resets the application and forces me into setup. I've normally managed to update the metabase application following this method with no issues.

Any ideas what I'm doing wrong?

Hi @mtomas
Make sure that you have added the MB_DB_* environment variables, and decoupled the RDS from EB.

Hi @flamber

How come I have never had to do this before? I have successfully updated it 10 times since 2019 and since then haven't changed the configuration of the environment.


Hi @mtomas, I did that change in our code. The Elastic Beanstalk stack that we had since the beginning of times had to be changed at some point in time due to the limitations of the AWS product, for example:

  1. people were deleting their Elastic Beanstalk servers and with that, the RDS database was deleted in consequence (as both components were tied to each other)
  2. the RDS database that Elastic Beanstalk chose when creating the stack had non-optimal definitions, like mechanical disks instead of General Purpose or Provisioned IOPS SSD's (so users had to recreate from scratch the entire stack if they wanted a production ready Metabase server)
  3. there were a lot of limitations when using the product (you couldn't use MySQL databases or some specific issues we had that I don't remember right now).

To wrap up, we made a change some versions ago that prepared the Elastic Beanstalk bundle for the future to come, but these changes needed some tweaks from our users, specially, untangling the database from the application server.

I hope this helps,

Hi @Luiggi,

I'm also facing a similar issue. We updated to version 0.41.5 and now all application data is gone. In our case, we never had an RDS database originally. My understanding was that there was a default file-based h2 format used to store application data, although I'm not 100% sure where this is located in AWS EBS.

Will adding the environment variables help us access missing data after doing the update? We just lost months of work because we updated the version to fix a security vulnerability, and even the EBS backup I created beforehand is not working. Please help.

Hi Zavier, if you have the EBS backup then you should be able to create a new instance with that EBS and dig into the stopped docker container that was running. Inside that container you will find the H2 database that you're looking for (you should do a docker cp containername:path_to_file . so you copy the H2 file to the host). Once you do that you would be able to backup that file and also load it into an RDS file with the instructions here https://www.metabase.com/docs/latest/operations-guide/migrating-from-h2.html

Our Metabase instance is now back online and using RDS instead of the default H2 file. Appreciate the help!

Hi mtomas! Did you ever figure out how to recover your lost application data? The same thing happened to me and everything is gone now.

Have you decoupled your RDS from EB before upgrading? If no, then revert and do that first.
Have you added environment variables to your EB, which is pointing to your RDS? If no, then do that.

If your RDS is gone, then you'll have to revert to your backup first. Then make sure that your RDS actually contains the data before doing anything else.
If you had setup Metabase with the H2 database, then you'll need to get the file out of your EB instance, so you can do a new setup and migrate away from H2.

All this is written in the previous comments in this thread too.