Get Activepieces up & running on AWS with Pulumi for IaC
Pulumi is an IaC solution akin to Terraform or CloudFormation that lets you deploy & manage your infrastructure using popular programming languages e.g. Typescipt (which we’ll use), C#, Go etc.
If you’re already familiar with Pulumi Cloud and have integrated their services with your AWS account, you can use the button below to deploy Activepieces in a few clicks. The template will deploy the latest Activepieces image that’s available on Docker Hub.
Or, if you’re currently using an S3 bucket to maintain your Pulumi state, you can scaffold and deploy Activepieces direct from Docker Hub using the template below in just few commands:
The template is setup to be somewhat flexible, supporting what could be a development or more production-ready configuration. The configuration options that are presented during stack configuration will allow you to optionally add any or all of:
For a full list of all the currently available configuration options, take a look at the Activepieces Pulumi template file on Github.
If you’re new to Pulumi then read on to get your local dev environment setup to be able to deploy Activepieces.
Note: Pulumi supports to two different state management approaches. If you’d rather use Pulumi Cloud instead of S3 then feel free to skip this step and setup an account with Pulumi.
This step will prompt you to create you stack and to populate a series of config options, such as whether or not to provision a PostgreSQL RDS instance or use SQLite3.
Note: When choosing a stack name, use something descriptive like activepieces-dev
, ap-prod
etc.
This solution uses the stack name as a prefix for every AWS service created
e.g. your VPC will be named <stack name>-vpc
.
yes
when prompted. Once the deployment has finished, you should see a bunch of Pulumi output variables that look like the following:The config value of interest here is the activePiecesUrl
as that is the URL for our Activepieces deployment.
If you chose to add a fully qualified domain during your stack configuration, that will be displayed here.
Otherwise you’ll see the URL to the application load balancer. And that’s it.
Congratulations! You have successfully deployed Activepieces to AWS.
To deploy a locally built image instead of using the official Docker Hub image, read on.
deploy/pulumi
folder & install the nescessary npm packages:Pulumi.activepieces-dev.yaml
and Pulumi.activepieces-prod.yaml
.
These files already contain all the configurations we need to create our environments. Feel free to have a look & edit the values as you see fit.
Lets continue by creating a development stack that uses the existing Pulumi.activepieces-dev.yaml
file & kick off the deploy.Note: Using activepieces-dev
or activepieces-prod
for the pulumi stack init
command is required here as the stack name needs to match the existing stack file name in the folder.
yes
, a new image will be built based on the Dockerfile
in the root of the solution (make sure Docker Desktop is running) and then pushed up to a new ECR, along with provisioning all the other AWS services for the stack.Congratulations! You have successfully deployed Activepieces into AWS using a locally built Docker image.
All of the current configuration options, as well as the low-level details associated with the provisioned services are fully customisable, as you would expect from any IaC.
For example, if you’d like to have three availability zones instead of two for the VPC, use an older version of Redis or add some additional security group rules for PostgreSQL, you can update all of these and more in the index.ts
file inside the deploy
folder.
Or maybe you’d still like to deploy the official Activepieces Docker image instead of a local build, but would like to change some of the services. Simply set the deployLocalBuild
config option in the stack file to false
and make whatever changes you’d like to the index.ts
file.
Checking out the Pulumi docs before doing so is highly encouraged.
Get Activepieces up & running on AWS with Pulumi for IaC
Pulumi is an IaC solution akin to Terraform or CloudFormation that lets you deploy & manage your infrastructure using popular programming languages e.g. Typescipt (which we’ll use), C#, Go etc.
If you’re already familiar with Pulumi Cloud and have integrated their services with your AWS account, you can use the button below to deploy Activepieces in a few clicks. The template will deploy the latest Activepieces image that’s available on Docker Hub.
Or, if you’re currently using an S3 bucket to maintain your Pulumi state, you can scaffold and deploy Activepieces direct from Docker Hub using the template below in just few commands:
The template is setup to be somewhat flexible, supporting what could be a development or more production-ready configuration. The configuration options that are presented during stack configuration will allow you to optionally add any or all of:
For a full list of all the currently available configuration options, take a look at the Activepieces Pulumi template file on Github.
If you’re new to Pulumi then read on to get your local dev environment setup to be able to deploy Activepieces.
Note: Pulumi supports to two different state management approaches. If you’d rather use Pulumi Cloud instead of S3 then feel free to skip this step and setup an account with Pulumi.
This step will prompt you to create you stack and to populate a series of config options, such as whether or not to provision a PostgreSQL RDS instance or use SQLite3.
Note: When choosing a stack name, use something descriptive like activepieces-dev
, ap-prod
etc.
This solution uses the stack name as a prefix for every AWS service created
e.g. your VPC will be named <stack name>-vpc
.
yes
when prompted. Once the deployment has finished, you should see a bunch of Pulumi output variables that look like the following:The config value of interest here is the activePiecesUrl
as that is the URL for our Activepieces deployment.
If you chose to add a fully qualified domain during your stack configuration, that will be displayed here.
Otherwise you’ll see the URL to the application load balancer. And that’s it.
Congratulations! You have successfully deployed Activepieces to AWS.
To deploy a locally built image instead of using the official Docker Hub image, read on.
deploy/pulumi
folder & install the nescessary npm packages:Pulumi.activepieces-dev.yaml
and Pulumi.activepieces-prod.yaml
.
These files already contain all the configurations we need to create our environments. Feel free to have a look & edit the values as you see fit.
Lets continue by creating a development stack that uses the existing Pulumi.activepieces-dev.yaml
file & kick off the deploy.Note: Using activepieces-dev
or activepieces-prod
for the pulumi stack init
command is required here as the stack name needs to match the existing stack file name in the folder.
yes
, a new image will be built based on the Dockerfile
in the root of the solution (make sure Docker Desktop is running) and then pushed up to a new ECR, along with provisioning all the other AWS services for the stack.Congratulations! You have successfully deployed Activepieces into AWS using a locally built Docker image.
All of the current configuration options, as well as the low-level details associated with the provisioned services are fully customisable, as you would expect from any IaC.
For example, if you’d like to have three availability zones instead of two for the VPC, use an older version of Redis or add some additional security group rules for PostgreSQL, you can update all of these and more in the index.ts
file inside the deploy
folder.
Or maybe you’d still like to deploy the official Activepieces Docker image instead of a local build, but would like to change some of the services. Simply set the deployLocalBuild
config option in the stack file to false
and make whatever changes you’d like to the index.ts
file.
Checking out the Pulumi docs before doing so is highly encouraged.