Guide: how to migrate your apps from Qovery v1 to Qovery v2

Qovery V2 Migration Guide

Finally, after seven months of hard work, the Qovery team is proud to announce that the Qovery V2 Beta is out and available for everyone.

Introduction

V1 vs. V2

Qovery V1 struggled with a few problems:

  • API performance / slow web user interface
  • Deployment problems
  • Requirement of creating a .qovery.ymlfile in repositories

In the newest major Beta release (V2), we addressed all of those problems by:

  • Rewriting the API from scratch and making it open
  • Solving many issues causing deployment problems in the past
  • Eliminating the requirement of creating any files in your repositories

On top of that, we added a couple of often requested features, like the support of mono repositories.

What’s new?

Redesigned UI

Thanks to our product team - we redesigned the web interface from scratch. Here is a brand new web interface for an outstanding user experience. Look at how easy it is to deploy your first app in the demo.

Mono repository support

One of the most wanted features - mono repository support - shipped in the new beta release. Read more in our guide.

Improved Performance

No more sluggishness - the API and web interface is blazingly fast now!

Open API

Our API is open and well documented! Sky is the limit - you can integrate Qovery with all your tools.

Coming next

You can expect to see the next big things in the coming weeks - see our roadmap.

To know more about Qovery v2 beta launch - read this post


Migration

To migrate your apps from Qovery V1 to V2, you need to:

  • Remove the .qovery.yml - it’s not used to configure projects in Qovery V2
  • Setup a new project in Qovery V2:
    • It means translating your old .qovery.yml into project configuration in V2
      • Creating a new project
      • Creating a new environment
      • Creating a new application
      • Adding services like databases
      • Adding storage
      • Exposing your application ports (if applicable)

Creating applications

Learn how to create an application.

  1. To migrate your project, you need to create a new application for each application of your project. The guide above demonstrates how to create a new app in Qovery V2. The exact config will vary based on your project setup.
  2. To migrate to V2, check your previous configuration (in the.qovery.yml file or old V1 console) and create apps with appropriate configuration in Qovery V2 using the new web interface.

Useful resources that may help you configure your apps:

Creating databases

  1. Learn how to create a database.

The guide above shows you how to add a database to your environment easily. Add all needed databases to your project.

  1. Next, you need to link them to your applications as described here.

  2. The last step to migrate to Qovery V2 is data migration (if your projects use databases).

Backups and Restore

To migrate your data, you need to create a backup and migrate it to your newly created databases.

You may want to stop your services for the duration of data and apps migration

PostgreSQL

Migrating data to the new DB.

Required tools:

Steps:

  1. Prepare old secrets
    OLD_URI - old database URI (you can find it in your old project in Qovery V1), e.g.
    postgres://username:password@my_postgres_server:5432/databasename
  2. Prepare new secrets
    NEW_URI - new database URI (you can find it in your new database environment variables panel in Qovery V2), e.g.
    postgres://username:password@my_postgres_server:5432/databasename
  3. Run migration command: pg_dump $OLD_URI | psql NEW_URI

The command from above should move all your data to your new database.

If you encounter issues, refer to PostgreSQL docs.

MySQL

Migrating data to the new DB.

Required tools:

Steps:

  1. Prepare old secrets
    OLD_URI - old database URI (you can find it in your old project in Qovery V1) e.g. mysql://username:password@my_postgres_server:3306/databasename
  2. Prepare new secrets
    NEW_URI - new database URI (you can find it in your new database environment variables panel in Qovery V2) e.g. mysql://username:password@my_postgres_server:3306/databasename
  3. Run migration command: mysqldump --opt $OLD_URI | mysql --max_allowed_packet=32M $NEW_URI

The command from above should move all your data to your new database.

If you encounter issues, refer to MySQL docs.

MongoDB

Migrating data to the new DB.

Required tools:

Steps:

  1. Prepare secrets (you can find all required secrets in your old project in Qovery V1 and your new database secrets panel in Qovery V2)
  2. Run migration command: mongodump --host HOST:PORT --db SOURCE_DB --username USERNAME --password PASSWORD --archive | mongorestore --host HOST:PORT --nsFrom 'SOURCE_DB.*' --nsTo 'TARGET_DB.*' --username USERNAME --password PASSWORD --archive --drop

The command from above should move all your data to your new database.

If you encounter issues, refer to MongoDB tutorial.

Redis

We don’t provide and recommend migrating Redis data as it’s mainly supposed to be used as a cache. In most cases, no steps are needed.

Thank you for using Qovery

If you have any issues with your migration, please leave us a comment here, we’ll do our best to help!

FAQ

How can I migrate storage data?

  • Drop a comment in this post, we’ll reach back to you and provide all required help