> For the complete documentation index, see [llms.txt](https://docs.monolithforensics.com/monolith/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.monolithforensics.com/monolith/deployment-and-security/on-premises-deployments/updates.md).

# Updates

### Automatic Updates

If Monolith is deployed with the **Watchtower** container and the host system has internet access, Watchtower can automatically update the Monolith API server, Monolith web app, and Relay web app when new container images are available.

Watchtower checks for updated container images on a recurring schedule.

Automatic updates can be disabled by removing the Watchtower container from the Monolith deployment.

### Force an Update

If you do not want to wait for Watchtower, or if you want to incorporate updates into your own maintenance process, you can force an update using Docker Compose.

Run the following commands from the directory containing your `docker-compose.yml` file:

```
docker compose down
docker compose pull
docker compose up -d
```

These commands stop the current Monolith containers, download the latest configured container images, and restart the deployment using those images.

You can also include these commands in a Bash, batch, or other administrative script if your organization prefers to manage updates on its own schedule.

### Manual Updates

Monolith container images can also be updated manually.

This approach is useful for air-gapped environments or organizations that do not want the Monolith host to download container images directly from the internet.

The general process is:

1. Download the required container images on a system with internet access.
2. Export the images to TAR files.
3. Transfer the TAR files to the Monolith host.
4. Import the images into Docker.
5. Restart the Monolith deployment.

### Download Latest Container Images

Run the following commands to download the latest container images for Monolith deployment or update:

{% code lineNumbers="true" %}

```
docker pull monolithforensics/nginx:latest
docker pull monolithforensics/monolith:on-prem 
docker pull monolithforensics/monolith-api:latest
docker pull monolithforensics/monolith-forms:on-prem
docker pull mysql:8.0.16
```

{% endcode %}

### Export Container Images for Transfer

Run the following commands to export the container images to TAR files that can be transferred to the host running the Monolith server:

{% code overflow="wrap" lineNumbers="true" %}

```
docker image save -o monolithfornesics_nginx.tar monolithforensics/nginx:latest
docker image save -o monolithforensics_monolith.tar monolithforensics/monolith:on-prem
docker image save -o monolithforensics_monolith-api.tar monolithforensics/monolith-api:latest
docker image save -o monolithforensics_relay.tar monolithforensics/monolith-forms:on-prem
docker image save -o mysql_8.0.16.tar mysql:8.0.16
```

{% endcode %}

You can now transfer these TAR files to the host system that runs your Monolith deployment.

### Import Container Images to Server

To import the TAR files, run the following commands on the host system running the Monolith Docker deployment:

{% code lineNumbers="true" %}

```
docker image load -i monolithfornesics_nginx.tar
docker image load -i monolithforensics_monolith.tar
docker image load -i monolithforensics_monolith-api.tar
docker image load -i monolithforensics_relay.tar
docker image load -i mysql_8.0.16.tar
```

{% endcode %}

### Restart the Monolith Server

To restart Monolith with the new containers, run the following commands on your Monolith host and from the directory containing your docker-compose.yml file

{% code lineNumbers="true" %}

```
docker compose down
docker compose up -d
```

{% endcode %}

### Related Documentation

* [**On-Premises Deployments**](/monolith/deployment-and-security/on-premises-deployments.md)
* [**Monolith Containers (Docker)**](/monolith/deployment-and-security/on-premises-deployments/monolith-containers-docker.md)
* [**How to Deploy**](/monolith/deployment-and-security/on-premises-deployments/deployment/how-to-deploy.md)
* [**Useful Commands**](/monolith/deployment-and-security/on-premises-deployments/deployment/useful-commands.md)
* [**Managing Licensing**](/monolith/deployment-and-security/on-premises-deployments/managing-licensing.md)
* [**Backups**](/monolith/deployment-and-security/on-premises-deployments/backups.md)
