> For the complete documentation index, see [llms.txt](https://docs.wellcomecollection.org/archivematica/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wellcomecollection.org/archivematica/service-architecture/how-is-our-deployment-unusual/unusual-aspects-of-our-deployment.md).

# ECS containers on EC2, not Fargate

Most of our services run as Docker containers in ECS, on Fargate.

We do package the Archivematica apps as Docker containers, but they run on a single EC2 instance with [a shared EBS volume](/archivematica/about-our-deployment/working-storage-mysql-and-ebs.md#shared-file-system-ebs), not in Fargate.

Gearman also runs on this instance, although it does not use the shared volume. Keeping it on the same host as the MCP services makes its lifecycle more predictable and avoids independent Fargate replacements.

ClamAV is the exception: it runs in Fargate and receives files as a stream from the MCP clients.

Keeping the main Archivematica applications on one host mimics how Archivematica expects to be run. We still package the services as Docker containers, orchestrated by ECS, so things behave similarly to our other services -- but we mount a persistent EBS volume inside the containers which need the shared file system.

As much as possible, these Docker images look similar to our other services, e.g. they're published by Buildkite, stored in ECR, managed by ECS.

We use EBS rather than EFS because Archivematica expects the file system to be synchronous. We did try using EFS, but we couldn't get it to behave reliably.
