[Server] Customizing your VM Service AMI

How to build your own Custom AMI

On hosted installations of CircleCI, the AMI used for VM Service, which provides access to a dedicated Docker daemon via the machine executor (see Executor Types: Using Machine) and setup_remote_docker (see Running Docker Commands: Overview), is completely customizable.

By extending our default installed set of packages and dependencies to create your own custom VM Service AMI, you can install custom versions of Docker, as well as pre-bake any common frameworks, security tools, proxy settings, etc., into the AMI itself, simplifying the required setup and configuration steps that might otherwise have to live in the config.yml configuration files for any projects with jobs that require the machine executor or setup_remote_docker.


CircleCI Server 3.x/4.x

To build the image, you can utilize our open-source circleci-server-linux-image-builder

  • For AWS Installations, please view this link.
  • For GCP Installations, please view this link.

Server 4.x

Once the image is built, you can customize the Server 4.x's Helm values.yml to include the image build like so: 

# for AWS
linuxAMI: "<my-linux-ami>"

# for GCP
linuxImage: "<my-linux-image>"


Server 3.x

Once the image is built, you can add the AMI ID via the KOTS Admin Console. 



Additional Resources


Was this article helpful?
1 out of 1 found this helpful



Article is closed for comments.