/ecs_composex

Manage, Configure and Deploy your services and AWS services and applications from your docker-compose definitions

Primary LanguagePythonMozilla Public License 2.0MPL-2.0

ECS ComposeX

PYPI_VERSION PyPI - License PY_DLS

CodeStyle ISORT TDD with pytest BDD with Behave

Code scan with SonarCloud

BUILD

The no-code CDK for docker-compose & AWS ECS

Deploy your services to AWS ECS from your docker-compose files in 3 steps

  • Step 1. Install ECS Compose-x
  • Step 2. Use your existing docker-compose files. Optionally, add Compose-X extensions.
  • Step 3. Deploy to AWS via CloudFormation.

What does it do?

  • Automatically deploy applications to AWS using existing docker-compose files
    • Deploys multiple applications to AWS in a single command
    • Creates AWS resources such as EC2 Instances, ECS Clusters and Containers
    • Automatically configures IAM roles and Networking for secure and reliable access
  • Expand the definitions with AWS CloudFormation resources
  • Allows to use existing resources in your AWS Account
  • Can be extended with custom modules/hooks to customize the deployment process
  • Automatically rolls back the application in case of errors, to previous version or to a stable state

Useful Links

Installation

# Inside a python virtual environment
python3 -m venv venv
source venv/bin/activate
pip install pip -U
pip install ecs-composex

# For your user only
pip install ecs-composex --user

Usage

# Get all the options
ecs-compose-x -h

# Simple example using docker-compose file and an extension with your AWS Settings
ecs-compose-x render -d templates -n my-new-stack -f docker-compose.yaml -f aws-settings.yaml