# AWS ECS Express Mode

## 1. Create an ECS Express Mode Service

1. Go to the [ECS console](https://console.aws.amazon.com/ecs/v2) and select **Express mode** in the navigation pane on the left-hand side
2. **Image URI**:
   ```text
   public.ecr.aws/xlwings/xlwings-lite:1.0.0.104
   ```
3. **Task execution role**: Select an existing role or choose `Create new role`
4. **Infrastructure role**: Select an existing role or choose `Create new role`
5. Expand the **Additional configurations** section:
   - **Container port**: `8000`
   - **Environment variables** > **Add environment variable**:
     - **Key**: `XLWINGS_LICENSE_KEY`
     - **Value type**: `Environment variable`
     - **Value or value from**: `<your license key>`
   - **CPU**: 0.25 vCPU, **Memory**: 0.5 GB
   - **Networking**: Configure according to your requirements (leaving the checkbox unchecked will expose the service to the public internet)
6. Click **Create**

## 2. Configuration (optional)

You can configure xlwings Lite via optional environment variables. For an overview, see [Configuration](configuration.md).
To add environment variables to your existing service, click on your service > Update service (orange button on the top right) > Additional configurations. Once added, click on Update (orange button at the bottom right) to deploy.

## 3. Add-in installation

1. In your browser, go to `https://<your-hostname>/manifest`, which will download `xlwings-lite-manifest.xml`.
2. Go to [Microsoft 365 admin center](https://admin.microsoft.com/)
   - Click on [`Show all` > `Settings` > `Integrated Apps`](https://admin.microsoft.com/#/Settings/IntegratedApps).
   - If you have **xlwings Lite** installed, uninstall it first.
   - Click on `Upload custom apps` and select `Office Add-in` (App type).
   - Select `Upload manifest file (.xml) from device`. Click `Choose File`, then select the `xlwings-lite-manifest.xml` from the previous step.
   - Click `Next`, then assign the desired users.
   - Click `Next` and accept permission requests.
   - Click `Next` and `Finish deployment`.

The users will get the add-in to show up automatically although it may take a few hours.

## 4. Updating

To update xlwings Lite:

1. Go to the [ECS console](https://console.aws.amazon.com/ecs/v2) and navigate to your cluster > your service
2. Click on Update service (orange button on the top right). Update the **Image URI** to the following:
   ```text
   public.ecr.aws/xlwings/xlwings-lite:1.0.0.104
   ```

   Once added, click on Update (orange button at the bottom right) to deploy.
3. Normally, you don’t need to update the manifest after deploying a new version of the container. Occasionally, this is required if e.g., if the URL of your container changed. In this case, the Office 365 admin center offers a link to **Update Add-in**.
