Skip to main content

On-VM Deployment Prerequisites

This page outlines the requirements for the lightweight On-VM deployment option, which runs the full AI/Run CodeMie platform on a single virtual machine using Docker Compose.

Account Requirements​

  • Active AWS Account with a region that supports Amazon Bedrock
  • IAM permissions to create an IAM deployer role (one-time setup)
  • Sufficient quota for: 1 EC2 instance, 1 VPC, 1 S3 bucket, 1 KMS key, 1 EIP
  • Network access: Outbound internet access from EC2 (to pull Docker images, access Bedrock API); optional Route 53 hosted zone (if using a custom domain with ALB + ACM)
IAM Deployer Role

The deployment uses a dedicated IAM role with scoped permissions. You only need broad IAM access to create this role once — subsequent deployments use the role.

Deployment Machine Tools​

The following tools must be installed on the machine where you run ./deploy.sh:

ToolVersionPurpose
Terraform1.15.xInfrastructure provisioning
AWS CLIlatestAWS resource management
Session Manager PluginlatestSSH access via AWS SSM
jqlatestJSON parsing
openssllatestSecret generation
envsubstlatestTemplate rendering

Verify installation:

terraform version # Should show 1.15.x
aws --version # AWS CLI v2
session-manager-plugin # Should print version info
jq --version
openssl version
envsubst --version
Enterprise Profile Only

If deploying the Enterprise profile, nsc (latest) is also required on the deployment machine for NATS key generation.

GCP Container Registry Access​

CodeMie container images are hosted on europe-west3-docker.pkg.dev. You need a GCP service account key file (key.json) with read access to the registry — this applies regardless of the cloud provider you deploy to.

Obtaining key.json

Contact your CodeMie administrator or EPAM delivery team to obtain the key.json file for registry access.

Cloud Authentication​

Authenticate to your cloud provider before running the deployment:

# If using AWS SSO:
aws sso login --profile your-profile
export AWS_PROFILE=your-profile

# Verify credentials:
aws sts get-caller-identity

Repository Access​

Clone the deployment repository:

git clone https://gitbud.epam.com/epm-cdme/codemie-on-vm.git
cd codemie-on-vm

The repository structure:

DirectoryPurpose
compose/Docker Compose files and service configuration
deploy.shDeployment script
terraform/aws/codemie-on-vm-aws-iam/IAM deployer role Terraform module
terraform/aws/remote-backend/S3 Terraform state bucket
terraform/aws/platform/EC2, VPC, ALB, S3, KMS infrastructure
Air-Gapped Environments

If your deployment machine operates in an isolated environment without direct internet or repository access, the repository can be provided as a ZIP/TAR archive and transferred through approved channels.