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

# Upgrading your AirysChat installation

> Step-by-step guide to upgrade AirysChat across different deployment methods

## Linux VM

Whenever a new version of AirysChat is released, use the following steps to upgrade your instance.

<Note>
  To install `cwctl`, refer [this](#install-or-upgrade-airyschat-cli) section below.
</Note>

<Note>
  If you are on an older version of AirysChat(\< 2.7), follow the [manual upgrade steps](/self-hosted/deployment/linux-vm#upgrading-to-a-newer-version-of-airyschat) if you face errors with `cwctl`.
</Note>

```bash theme={null}
cwctl --upgrade
```

This upgrade method is applicable for all manual linux installations including installation using aws marketplace.

## Docker

Update the images using the latest image from airyschat.

```bash theme={null}
docker-compose down
docker-compose pull
docker-compose up -d
```

Run the `rails db:airyschat_prepare` option after accessing the console from one of the containers running the latest image.

```bash theme={null}
docker exec -it $(basename $(pwd))-rails-1 sh -c 'RAILS_ENV=production bundle exec rails db:airyschat_prepare'
```

## Helm(Kubernetes)

This upgrade guide is applicable for AirysChat DigitalOcean 1-click k8s app and any other Kubernetes deployment using `charts`.

Do `helm repo update` and check the version of charts that is going to be installed. Helm charts follows semantic versioning and so if the MAJOR version is different from your installed version, there might be breaking changes. Please refer to the changelog before upgrading.

```bash theme={null}
# update helm repositories
helm repo update
# list your current installed version
helm list
# show the latest version of charts that is going to be installed
helm search repo airyschat
```

```bash theme={null}
#if it is major version update, refer to the changelog before proceeding
helm upgrade airyschat airyschat/airyschat -f <your-custom-values>.yaml
```

## Heroku

1. Pull the latest changes from AirysChat github repo to your fork. Use the fetch upstream changes feature on Github.
2. Deploy the latest branch to your heroku app.
