Skip to main content

Database

Strapi Cloud provides a pre-configured PostgreSQL database by default. However, you can also configure it to utilize an external SQL database, if needed.

☑️ Prerequisites
  • A local Strapi project running on v4.8.2+.
  • Credentials for external database.
  • If using an existing database, the schema must match the Strapi project schema.
Caution

While it's possible to use an external database with Strapi Cloud, you should do it while keeping in mind the following considerations:

  • Strapi Cloud already provides a managed database that is optimized for Strapi.
  • Using an external database may result in unexpected behavior and/or performance issues (e.g., network latency may impact performance). For performance reasons, it's recommended to host your external database close to the region where your Strapi Cloud project is hosted. You can find where your Strapi Cloud project is hosted in your Project Settings (see Project Settings > General > Selected Region).
  • Strapi can't provide security or support with external databases used with Strapi Cloud.

Configuration

The project ./config/database.js or ./config/database.ts file must match the configuration found in the environment variables in database configurations section.

Before pushing changes, add environment variables to the Strapi Cloud project:

  1. Log into Strapi Cloud and click on the corresponding project on the Projects page.

  2. Click on the Settings tab and choose Variables in the left menu.

  3. Add the following environment variables:

    VariableValueDetails
    DATABASE_CLIENTyour_dbShould be one of mysql, postgres, or sqlite.
    DATABASE_HOSTyour_db_hostThe URL or IP address of your database host
    DATABASE_PORTyour_db_portThe port to access your database
    DATABASE_NAMEyour_db_nameThe name of your database
    DATABASE_USERNAMEyour_db_usernameThe username to access your database
    DATABASE_PASSWORDyour_db_passwordThe password associated to this username
    DATABASE_SSL_REJECT_UNAUTHORIZEDfalseWhether unauthorized connections should be rejected
    DATABASE_SCHEMApublic-
  4. Click Save.

Caution

To ensure a smooth deployment, it is recommended to not change the names of the environment variables.

Deployment

To deploy the project and utilize the external database, push the changes from earlier. This will trigger a rebuild and new deployment of the Strapi Cloud project.

Once the application finishes building, the project will use the external database.

Reverting to the default database

To revert back to the default database, remove the previously added environment variables related to the external database from the Strapi Cloud project dashboard, and save. For the changes to take effect, you must redeploy the Strapi Cloud project.