> For the complete documentation index, see [llms.txt](https://help.readymage.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.readymage.com/project-development/additional-environments.md).

# Additional Environments

Create a *development* and *staging* environment for your project to test and demo changes before releasing them in production.

You can select your instance in the User Portal by using the instance drop-down.&#x20;

<figure><img src="/files/RWIxsyLQWg6qyxvK4rSU" alt=""><figcaption></figcaption></figure>

### Important to know!

1. Additional environments are created using the default resource allocation. If you would like to set different resources please contact <hello@readymage.com>.
2. The source code will be managed through the same repository that your production environment is managed. Each environment has its own branch within the GitHub project.
3. The additional environment branches will contain a copy of the current master branch code.
4. Media and Database are NOT copied to additional instances from the production environment automatically. A default database and media will be set initially, which may result in your website not working at first due to database data/media and source code inconsistencies. You need to migrate the database and media to an additional environment following these [instructions](/project-development/database-and-media-migration.md).
5. Auth.json is copied over to additional environments from the production environment on creation.

### Create your additional environment

You can create additional environments, such as Staging and Development environments, through the User Portal.&#x20;

{% hint style="warning" %}
Note that you must be an Owner or Admin to create environments.
{% endhint %}

<figure><img src="/files/Gqjh7aeWYjA7Ku26XWd4" alt=""><figcaption></figcaption></figure>

1. Navigate to Project Configuration page - [Project Settings](https://app.gitbook.com/o/-MJEF8d2zq5zB16UWyvQ/s/-MKew-XtJKAPabdeTxXg/~/edit/~/changes/442/project-management/project-settings)
2. Click the ***New Instance*** button.
3. Select the **Project** where you want to create the new instance.
4. Under **Existing Project**, select the project name and click **Next**.&#x20;

<figure><img src="/files/wM4qJITNkXbWsEWz1e6L" alt=""><figcaption></figcaption></figure>

5. Template is automatically inherited from the main instance. Click **Next** to continue.
6. Enter the **Instance Name** and **Instance Tag**, then select the desired **Magento Mode**.
7. Select the region where the instance will be deployed.

<figure><img src="/files/M0ZfukMvgbiGu5Fz4Xo7" alt=""><figcaption></figcaption></figure>

8. Click **Next** to proceed to the **Review** step.
9. Carefully review the instance configuration, then click **Create Instance** to start the provisioning process.

<figure><img src="/files/b5zAdRrGs3T8DIDcEqWq" alt=""><figcaption></figcaption></figure>

10. The new instance will be ready in approximately **15 minutes**. You can monitor the provisioning progress from the instance overview page.

{% hint style="info" %}
An additional instance is created using the production instance source code. Database and media are the default so you will need to migrate yours from the production environment to replicate it.
{% endhint %}

During instance creation you will see instance creation progress.

<figure><img src="/files/JGm1vjxkqMjJlvrNhWLr" alt=""><figcaption></figcaption></figure>

This progress will refresh automatically and after the instance is created you will be redirected to the [Magento Details](/application-management/access-details.md) of that instance.
