> For the complete documentation index, see [llms.txt](https://docs.onelitefeather.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.onelitefeather.net/ingot/operate-and-upgrade/roll-back-an-upgrade.md).

# Roll back an upgrade

Return an upgraded installation to the previous Reposilite or Ingot release on the same data directory, or restore the backup.

## Prerequisites

* The image reference of the release you ran before the upgrade.
* The backup from [Back up before upgrading](/ingot/operate-and-upgrade/back-up-before-upgrading.md), if you want to restore it.

{% hint style="warning" %}
Changes made in Ingot after the upgrade are not visible to the old version. Recreate them there, as described in step 4.
{% endhint %}

## Steps

1. Stop the server.
2. Change the image back to the previous release. Leave the rest of the file as it is.
3. Start the server on the same data directory. The old version reads the state it had before the first start of Ingot.
4. Recreate the changes you made in Ingot:
   * Tokens you created in Ingot do not authenticate on the old version. Create them again there.
   * Tokens you revoked in Ingot are active again on the old version. Revoke them again there.
   * Tokens you rotated in Ingot keep the secret they had before the rotation on the old version. The new secret does not work there. Rotate the token again on the old version and update the clients.
   * Rights you changed in Ingot are back to their earlier values. Change them again there.
5. Check that the tokens and artifacts you had before the upgrade work.

To be certain, stop the server, restore the backup you took before the upgrade, and start the old image on the restored data.

## Result

The old version starts on the same data directory, and the tokens and artifacts you had before the upgrade work again.

A token you create on the old version is imported again the next time you upgrade.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.onelitefeather.net/ingot/operate-and-upgrade/roll-back-an-upgrade.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
