> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aviatrix.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Back Up and Restore Your Controller from the Minimum Controller UI

> Configure external storage, schedule automatic backups, and restore your Aviatrix Controller from the Minimum Controller UI Maintenance page.

## Overview

The Minimum Controller UI is a lightweight web interface hosted directly on
the Aviatrix Controller. It stays available even when CoPilot is unreachable,
so you can perform bootstrap and lifecycle operations, including Controller
backup and restore, without depending on a healthy CoPilot deployment. Use it
for initial (Day-0) setup and for break-glass access when critical functions
are not yet available in CoPilot.

<Note>
  This page covers backup and restore from the **Minimum Controller UI**. If
  your Controller has a healthy CoPilot deployment, use
  <a href={"/docs/enterprise/" + "10.1" + "/guides/maintenance/controller-backup-restore-copilot"}>Back Up and Restore Your Controller from CoPilot</a>
  instead.
</Note>

## Prerequisites

* Network access to the Controller's IP address or FQDN on the port the
  Minimum Controller UI listens on.
* Admin credentials for the Controller.
* A cloud account (AWS, Azure, GCP, or OCI) already onboarded on the
  Controller for the external storage location you plan to use.

## Access the Maintenance Page

1. Log in to the Minimum Controller UI.
2. Go to **Maintenance**.
3. Expand the **Back Up and Restore** section.

If external storage is not configured yet, an alert reads *You need to
**Configure External Storage** before you can back up Controller data.* Click
**Configure External Storage** in the alert, or use the **External Storage**
card, to continue.

## Configure External Storage

Configure the external storage location the Controller uses for both backup
and restore operations.

1. On the **External Storage** card, click **Enable**.
2. In the **Configure External Storage** dialog, select the **Cloud** for the
   storage location.
3. Select the **Account** to use.

<AccordionGroup>
  <Accordion title="For AWS">
    Enter the **External Storage (S3 Bucket)** name.
  </Accordion>

  <Accordion title="For Azure">
    Select the **Region**, then enter the **Storage** account name and
    **Container** name.
  </Accordion>

  <Accordion title="For Oracle Cloud Infrastructure">
    Select the **Region**, then enter the **Bucket** name.
  </Accordion>
</AccordionGroup>

4. Click **Save**.

The **External Storage** card now shows the configured **Account** and
storage location. To change the configuration later, click **Edit
Configuration** on the card.

<Warning>
  Removing the external storage association clears all backup schedules for
  this Controller. In the **Configure External Storage** dialog, click **Remove
  Association** to disassociate the storage location. You must configure a new
  external storage location before you can back up or restore this Controller
  again.
</Warning>

## Back Up Your Controller

### Enable Automated Backups

1. On the **Back Up Controller** card, click **Enable**.
2. In the **Enable Automated Backup Schedule for Controller** dialog, under
   **Frequency and Retention**, select **Repeat**: **Daily** or **Weekly**.
3. If you selected **Weekly**, select the day under **Every**.
4. Set the backup time under **At**.
5. Enter the number of backups to keep under **Backup Retained**. Older
   backups beyond this count are deleted automatically from external storage.
6. Click **Save**.

The **Back Up Controller** card now shows the **Frequency**, **Backups
Retained**, **Last Backup**, and **Next Scheduled Backup** for this
Controller. To change the schedule, click the caret next to **Backup Now**
and select **Edit Configuration**. To stop automatic backups, click **Cancel
Schedule** in the same dialog.

### Back Up Now

To trigger an immediate backup outside the automatic schedule, click **Backup
Now** on the **Back Up Controller** card. While the backup runs, click **View
Progress** on the card to see live backup status.

<Note>
  If a scheduled or manual backup fails, a notification reads *The controller
  backup failed.* Click **Task Details** in the notification to investigate, or
  **Dismiss** to close it.
</Note>

## Restore Your Controller

<Warning>
  Restoring a Controller overwrites its existing configuration. Confirm you
  selected the correct backup file, and that any configuration changes made
  after that backup was taken are accounted for elsewhere, before you restore.
</Warning>

Restore is intended for a new, unconfigured Controller. Transfer the public
IP address from the old Controller to the new Controller before you start the
restore process.

1. On the **Restore Controller** card, click **Restore**.
2. In the **Restore Controller** dialog, select the **Location** (cloud) that
   holds your backup.

<AccordionGroup>
  <Accordion title="For AWS">
    To connect with a cloud account already onboarded on this Controller, turn
    on **Use Existing Account** and select the **Account**. Otherwise, enter
    the **Access Key** and **Secret Key** for the account that owns the
    backup.

    Enter the **External Storage (S3 Bucket)** name.
  </Accordion>

  <Accordion title="For Microsoft Azure">
    Enter the **Subscription ID**, **Directory ID**, **Application Client
    ID**, and **Application Client Secret**.

    Enter the **Storage** account name and **Container** name.
  </Accordion>

  <Accordion title="For Google Cloud">
    Enter the **Bucket** name, then upload the **Gcloud Project Credentials**
    file.
  </Accordion>

  <Accordion title="For Oracle Cloud Infrastructure">
    To connect with a cloud account already onboarded on this Controller, turn
    on **Use Existing Account** and select the **Account**. Otherwise, enter
    the **Tenancy OCID**, **Compartment OCID**, **Application Client ID**, and
    **Application Client Secret**, and upload the **API Private Key** file.

    Select the **Region**, then enter the **Bucket** name.
  </Accordion>
</AccordionGroup>

3. Enter the **File Name** of the backup to restore. You can find this file
   name in the external storage location that held backups for the old
   Controller.
4. (Optional) Select **Use the same external storage for future backups** to
   reuse this location as the external storage for this Controller going
   forward.
5. Click **Save** to start the restore.

While the restore runs, click **View Progress** on the **Restore Controller**
card to see live restore status.

### Restore Notes

* Restore only to a new, unconfigured Controller. Restoring overwrites the
  target Controller's existing configuration.
* Back up and restore must use the same cloud provider. For example, a backup
  taken on an AWS Controller can only be restored to another AWS Controller.
* An AWS Controller configured with IAM roles cannot restore a backup taken
  from an AWS Controller configured with an access key and secret key, or the
  reverse.
* A Controller allows only one successful restore. Attempting to restore a
  Controller that was already restored successfully returns an error and the
  operation does not proceed.

## Related Topics

* <a href={"/docs/enterprise/" + "10.1" + "/guides/maintenance/controller-backup-restore-copilot"}>Back Up and Restore Your Controller from CoPilot</a>
* <a href={"/docs/enterprise/" + "10.1" + "/guides/maintenance/controller-backup-restore-controllerui"}>Back Up and Restore Your Controller from the Controller UI</a>
