> For the complete documentation index, see [llms.txt](https://docs.b2ihealthcare.com/authoring-platform-admin-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.b2ihealthcare.com/authoring-platform-admin-guide/backup-and-restore/restore.md).

# Restore

Using the custom backup container it is possible to restore:

* the Elasticsearch indices
* the Bugzilla database
* the OpenLDAP database (if present)

To restore any of the data the following steps have to be performed:

* stop Snow Owl, Elasticsearch, and the OpenLDAP containers (in the folder `./snow-owl/docker`):

```
docker-compose stop snowowl elasticsearch ldap
```

* (re)move the contents of the old / corrupted Elasticsearch data folder:

```
mv -t /tmp ./snow-owl/resources/indexes/nodes
```

* restart the Elasticsearch container **only** (keep Snow Owl stopped):

```
docker-compose start elasticsearch
```

* use the backup container's terminal and execute the restore script:

  * without any parameters, if only the Elasticsearch indices have to be restored

  ```
  root@host:# docker exec -it backup bash
  root@ad36cfb0448c:# /backup/restore.sh
  ```

  * with parameter `-l` in case the Elasticsearch indices **and** the OpenLDAP database have to be restored at the same time

  ```
  root@host:# docker exec -it backup bash
  root@ad36cfb0448c:# /backup/restore.sh -l
  ```

  * with parameter `-b` in case the Elasticsearch indices **and** the Bugzilla database have to be restored at the same time

  ```
  root@host:# docker exec -it backup bash
  root@ad36cfb0448c:# /backup/restore.sh -b
  ```

  * with parameter `-b` and `-l` if a full restore has to be performed

  ```
  root@host:# docker exec -it backup bash
  root@ad36cfb0448c:# /backup/restore.sh -b -l
  ```

* the script will list all available backups and prompts for selection:

```
root@ad36cfb0448c:# /backup/restore.sh

################################
Snow Owl restore script STARTED.

#### Verify Elasticsearch snapshot repository ####

Checking existence of repository 'snowowl-snapshots' ...
Repository with name 'snowowl-snapshots' is present, verifying repository state ...
Repository 'snowowl-snapshots' is functional

#### Select backup to restore ####

Found 10 available backups under '/backup'
Please select the backup to restore by choosing the right number in the menu below (hit Enter when the selection was made)

 1) snowowl-daily-20220323030001
 2) snowowl-daily-20220324030001
 3) snowowl-daily-20220325030002
 4) snowowl-daily-20220326030002
 5) snowowl-daily-20220329030001
 6) snowowl-daily-20220330030001
 7) snowowl-daily-20220331030002
 8) snowowl-daily-20220401030002
 9) snowowl-daily-20220402030001
10) snowowl-daily-20220405030002

#?

```

* enter the numerical identifier of the backup to restore and wait until the process finishes
* exit the backup container and restart all containers:

```
root@ad36cfb0448c:# exit
root@host:# docker-compose stop snowowl elasticsearch ldap bugzilla
root@host:# docker-compose up -d
```

{% hint style="info" %}
In case only the contents of the OpenLDAP server has to be restored, it is sufficient to just extract the contents of the backup archive to `./snow-owl/ldap` and restart the container.&#x20;
{% endhint %}
