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:
$ mkdir deploy-activepieces && cd deploy-activepieces$ pulumi new https://github.com/activepieces/activepieces/tree/main/deploy/pulumi$ pulumi up
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:
PostgreSQL RDS instance. Opting out of this will use a local SQLite3 Db.
Single node Redis 7 cluster. Opting out of this will mean using an in-memory cache.
Fully qualified domain name with SSL. Note that the hosted zone must already be configured in Route 53.
Opting out of this will mean relying on using the application load balancer’s url over standard HTTP to access your Activepieces deployment.
Next we’re going to use the Activepieces Pulumi deploy template to create a new project, a stack in that project and then kick off the deploy:
$ mkdir deploy-activepieces && cd deploy-activepieces$ pulumi new https://github.com/activepieces/activepieces/tree/main/deploy/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.
Nothing left to do now but kick off the deploy:
pulumi up
Now choose 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.
Move into the deploy/pulumi folder & install the necessary npm packages:
cd deploy/pulumi && npm i
This folder already has two Pulumi stack configuration files reday to go: 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.
pulumi stack init activepieces-dev && pulumi up
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.
You should now see a preview in the terminal of all the services that will be provisioned, before you continue.
Once you choose 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.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Activepieces","colors":{"primary":"#9675FF","light":"#9675FF","dark":"#9675FF"},"logo":{"light":"https://mintcdn.com/activepieces/fJ5Tlm8YTN5F2Mlz/resources/logo/light.svg?fit=max\u0026auto=format\u0026n=fJ5Tlm8YTN5F2Mlz\u0026q=85\u0026s=45ca3c4c50e981e74952921edc9a9fa2","dark":"https://mintcdn.com/activepieces/fJ5Tlm8YTN5F2Mlz/resources/logo/dark.svg?fit=max\u0026auto=format\u0026n=fJ5Tlm8YTN5F2Mlz\u0026q=85\u0026s=19d53837418091737fc386a2863fe6b0","href":"https://www.activepieces.com"},"favicon":"https://mintcdn.com/activepieces/fJ5Tlm8YTN5F2Mlz/favicon.svg?fit=max\u0026auto=format\u0026n=fJ5Tlm8YTN5F2Mlz\u0026q=85\u0026s=3974767b9f13bd8747287d75de7a1204","api":{"openapi":["openapi.json"]},"background":{"color":{"light":"#ffffff","dark":"#090d0d"}},"navbar":{"links":[{"href":"https://github.com/activepieces/activepieces","label":"GitHub"},{"href":"https://www.activepieces.com/pieces","label":"Pieces"}],"primary":{"type":"button","label":"Sign Up","href":"https://cloud.activepieces.com/sign-up"}},"footer":{"socials":{"x":"https://x.com/activepieces","github":"https://github.com/activepieces/activepieces","linkedin":"https://linkedin.com/company/activepieces"}},"styling":{"latex":false},"navigation":{"global":{},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"activepieces","hasAudioNarration":false,"actualSubdomain":"activepieces","customDomains":["www.activepieces.com"],"gitSource":{"type":"github","owner":"activepieces","repo":"activepieces","deployBranch":"main","contentDirectory":"docs","mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ade5171531268f76f8ab23f","collectionId":"6092de01-fe07-445f-8b69-78a849da0bb7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ade5171531268f76f8ab23f"},"feedback":{"edits":true,"issues":true,"agentFeedback":true,"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ade929217041bcf74b87cd9","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"Get Started","count":69},{"language":"default","tag":"API Reference","count":63},{"language":"default","tag":"Endpoints","count":60},{"language":"default","tag":"Enterprise Control","count":55},{"language":"default","tag":"Guides","count":54},{"language":"default","tag":"Install Activepieces","count":51},{"language":"default","tag":"About","count":42},{"language":"default","tag":"Build Pieces","count":40},{"language":"default","tag":"Company Handbook","count":39},{"language":"default","tag":"Audit Logs","count":25}]},"assistantConfig":{"enableStarterQuestions":true,"deflection":{"enabled":true,"email":"support@activepieces.com","showHelpButton":true}},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"starterQuestions":[{"_id":"69df3ea534438eefba3c55ed","deploymentId":"636f0b1d59792292a7e133be","questionText":"what is Activepieces's hiring process ?","status":"active","generatedBy":"manual","createdAt":"2026-04-15T07:30:45.300Z","updatedAt":"2026-04-15T07:30:45.300Z","__v":0},{"_id":"69df3e4d34438eefba3c51ae","deploymentId":"636f0b1d59792292a7e133be","questionText":"How to self-host Activepieces ?","status":"active","generatedBy":"manual","createdAt":"2026-04-15T07:29:17.523Z","updatedAt":"2026-04-15T07:30:56.547Z","__v":0},{"_id":"69df3e2d34438eefba3c4f73","deploymentId":"636f0b1d59792292a7e133be","questionText":"How do I create a new piece ?","status":"active","generatedBy":"manual","createdAt":"2026-04-15T07:28:45.786Z","updatedAt":"2026-04-15T07:30:50.754Z","__v":0}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":".pp{--pp-primary:hsl(257 74% 57%);--pp-primary-wash:hsl(257 74% 57% / 0.10);--pp-fg:#171717;--pp-muted:#737373;--pp-faint:#a3a3a3;--pp-border:#e5e5e5;--pp-soft:#f5f5f5;--pp-bg:#ffffff;--pp-switch-off:#d4d4d4;border:1px solid var(--pp-border);border-radius:12px;background:var(--pp-bg);padding:18px 16px;margin:12px 0 20px;font-family:\"Inter\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--pp-fg);max-width:560px}.pp,.pp *,.pp ::after,.pp ::before{box-sizing:border-box}.pp-field{display:flex;flex-direction:column;gap:6px}.pp-label{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:500;color:var(--pp-fg);margin:0}.pp-req{color:hsl(350 89% 60%)}.pp-desc{font-size:12px;color:var(--pp-muted)}.pp-input,.pp-stepper button{background:var(--pp-bg);color:var(--pp-fg)}.pp-input{display:flex;align-items:center;height:36px;border:1px solid var(--pp-border);border-radius:6px;padding:0 10px;font-size:14px}.pp-input.pp-ph{color:var(--pp-faint)}.pp-textarea{min-height:76px;align-items:flex-start;padding:8px 10px}.pp-select{justify-content:space-between}.pp-caret{width:8px;height:8px;border-right:1.5px solid var(--pp-faint);border-bottom:1.5px solid var(--pp-faint);transform:rotate(45deg);margin-top:-3px;flex:none}.pp-switch{width:34px;height:20px;border-radius:999px;background:var(--pp-primary);position:relative;flex:none}.pp-switch::after{content:\"\";position:absolute;top:2px;left:16px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s ease}.pp-switch.pp-off{background:var(--pp-switch-off)}.pp-switch.pp-off::after{left:2px}.pp-switch-row{display:flex;align-items:center;gap:10px}.pp-chip,.pp-switch-row .pp-t{font-size:14px;font-weight:500}.pp-switch-row .pp-d{font-size:12px;color:var(--pp-muted)}.pp-chip{display:inline-flex;align-items:center;gap:5px;background:var(--pp-primary-wash);color:var(--pp-primary);font-size:12.5px;border-radius:999px;padding:2px 6px 2px 9px}.pp-chip .pp-x{color:var(--pp-primary);opacity:.7;font-size:13px}.pp-chips,.pp-code{border:1px solid var(--pp-border);border-radius:6px}.pp-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:40px;padding:6px 8px}.pp-chips .pp-ph{color:var(--pp-faint);font-size:14px}.pp-code{font-family:ui-monospace,\"SF Mono\",Menlo,Consolas,\"Liberation Mono\",monospace;font-size:12.5px;line-height:1.6;background:var(--pp-soft);padding:10px 12px;color:#3f3f46;white-space:pre;overflow-x:auto}.pp-key{color:hsl(257 74% 45%)}.pp-str{color:hsl(160 84% 30%)}.pp-kv{display:grid;grid-template-columns:1fr 1fr 24px;gap:6px;align-items:center}.pp-kv.pp-one{grid-template-columns:1fr 24px}.pp-iconbtn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--pp-faint)}.pp-add{color:var(--pp-primary);font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:5px;margin-top:8px}.pp-list{display:flex;flex-direction:column;gap:6px}.pp-swatch{width:28px;height:28px;border-radius:6px;border:1px solid var(--pp-border);flex:none;background:hsl(257 74% 57%)}.pp-row{display:flex;align-items:center;gap:8px}.pp-item{border:1px solid var(--pp-border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;position:relative}.pp-item .pp-rm{position:absolute;top:8px;right:8px;color:var(--pp-faint)}.pp-note{border:1px solid hsl(257 74% 57%/.18);background:var(--pp-primary-wash);border-radius:8px;padding:12px 14px;font-size:13.5px;line-height:1.5;color:#3f3f46}.pp-note strong{display:block;margin-bottom:2px;color:var(--pp-fg)}.pp-rt{border:1px solid var(--pp-border);border-radius:6px;overflow:hidden}.pp-rt-btn,.pp-rt-toolbar{display:flex;align-items:center}.pp-rt-toolbar{gap:2px;padding:5px 6px;border-bottom:1px solid var(--pp-border);background:#fcfcfd}.pp-rt-btn{justify-content:center;width:26px;height:26px;border-radius:5px;font-size:13px;color:#52525b}.pp-rt-btn.pp-b{font-weight:800}.pp-rt-btn.pp-i{font-style:italic;font-family:Georgia,serif}.pp-rt-btn.pp-u{text-decoration:underline}.pp-rt-sep{width:1px;height:16px;background:var(--pp-border);margin:0 3px}.pp-rt-body{padding:10px 12px;font-size:14px;line-height:1.6;min-height:60px}.pp-mention{background:var(--pp-primary-wash);color:var(--pp-primary);border-radius:5px;padding:1px 5px;font-size:13px;font-weight:500}.pp-cards{display:flex;gap:8px;flex-wrap:wrap}.pp-rcard{flex:1 1 0;min-width:120px;display:flex;align-items:center;gap:10px;border:1px solid var(--pp-border);border-radius:8px;padding:11px 12px}.pp-rcard.pp-sel{border-color:var(--pp-primary);background:hsl(257 74% 57%/.05)}.pp-rcard .pp-ic,.pp-stepper{align-items:center;border-radius:6px}.pp-rcard .pp-ic{width:28px;height:28px;background:var(--pp-soft);display:flex;justify-content:center;color:#52525b;flex:none;font-family:ui-monospace,\"SF Mono\",Menlo,Consolas,\"Liberation Mono\",monospace;font-size:12px}.pp-rcard.pp-sel .pp-ic{background:var(--pp-primary-wash);color:var(--pp-primary)}.pp-rcard .pp-t{font-size:13.5px;font-weight:600}.pp-rcard .pp-d{font-size:11.5px;color:var(--pp-muted)}.pp-stepper{display:inline-flex;border:1px solid var(--pp-border);overflow:hidden;height:36px}.pp-stepper button{width:34px;height:100%;border:0;font-size:16px;border-right:1px solid var(--pp-border);cursor:pointer}.pp-stepper button:last-child{border-right:none;border-left:1px solid var(--pp-border)}.pp-stepper .pp-val{width:46px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums}.pp-stepper-row{display:flex;align-items:center;justify-content:space-between}.pp-reveal{border:1px solid var(--pp-border);background:#fafafa;border-radius:8px;padding:12px 13px}.pp-reveal .pp-divider{margin-top:12px;padding-top:12px;border-top:1px dashed var(--pp-border)}.pp-presets{display:flex;gap:6px;flex-wrap:wrap}.pp-pill{border:1px solid var(--pp-border);border-radius:999px;padding:4px 12px;font-size:13px;color:var(--pp-muted)}.pp-pill.pp-sel{border-color:var(--pp-primary);background:hsl(257 74% 57%/.05);color:var(--pp-primary);font-weight:600}.pp-daterow{display:flex;align-items:flex-end;gap:8px;margin-top:10px}.pp-daterow .pp-col{flex:1}.pp-daterow .pp-cl{font-size:11px;color:var(--pp-muted);margin-bottom:3px}.pp-tabs{display:flex;background:var(--pp-soft);border-radius:8px;padding:3px;gap:2px}.pp-tab{flex:1;text-align:center;font-size:13px;font-weight:500;padding:6px 0;border-radius:6px;color:var(--pp-muted)}.pp-tab.pp-sel{background:var(--pp-bg);color:var(--pp-fg);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.06)}.pp-twoup{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pp-fb{border:1px solid var(--pp-border);border-radius:14px;overflow:hidden}.pp-fb-row{display:flex;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid #f0f0f0}.pp-fb-badge,.pp-fb-foot .pp-ic{width:28px;height:28px;border-radius:8px;background:var(--pp-primary-wash);color:var(--pp-primary);display:flex;align-items:center;justify-content:center;flex:none}.pp-fb-lbl{width:72px;flex:none;font-size:13.5px;font-weight:600}.pp-fb-ctrl{flex:1;min-width:0}.pp-fb-x{color:var(--pp-faint);flex:none}.pp-fb-add,.pp-fb-foot{display:flex;align-items:center;border:1px solid var(--pp-border)}.pp-fb-add{gap:6px;margin:10px 12px;border-radius:9px;padding:8px 12px;width:fit-content;color:var(--pp-primary);font-size:13px;font-weight:600}.pp-fb-foot{justify-content:space-between;gap:12px;border-radius:14px;padding:11px 14px;margin-top:10px}.pp-fb-foot .pp-t{font-size:13.5px;font-weight:600}.pp-fb-foot .pp-s{font-size:11.5px;color:var(--pp-muted)}.pp .pp-i{display:inline-block;width:15px;height:15px;flex:none;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.pp .pp-i-cal{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E\")}.pp .pp-i-clip{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M21.44 11.05l-9.19 9.19a5 5 0 0 1-7.07-7.07l9.19-9.19a3 3 0 0 1 4.24 4.24l-9.2 9.19a1 1 0 0 1-1.41-1.41l8.48-8.49'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M21.44 11.05l-9.19 9.19a5 5 0 0 1-7.07-7.07l9.19-9.19a3 3 0 0 1 4.24 4.24l-9.2 9.19a1 1 0 0 1-1.41-1.41l8.48-8.49'/%3E%3C/svg%3E\")}.pp .pp-i-search{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E\")}.pp .pp-i-link{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7 0l3-3a5 5 0 0 0-7-7l-1 1'/%3E%3Cpath d='M14 11a5 5 0 0 0-7 0l-3 3a5 5 0 0 0 7 7l1-1'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7 0l3-3a5 5 0 0 0-7-7l-1 1'/%3E%3Cpath d='M14 11a5 5 0 0 0-7 0l-3 3a5 5 0 0 0 7 7l1-1'/%3E%3C/svg%3E\")}.pp .pp-i-user{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E\")}.pp .pp-i-sliders{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cline x1='4' y1='6' x2='20' y2='6'/%3E%3Cline x1='7' y1='12' x2='17' y2='12'/%3E%3Cline x1='10' y1='18' x2='14' y2='18'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cline x1='4' y1='6' x2='20' y2='6'/%3E%3Cline x1='7' y1='12' x2='17' y2='12'/%3E%3Cline x1='10' y1='18' x2='14' y2='18'/%3E%3C/svg%3E\")}.dark .pp{--pp-fg:#e8e8ea;--pp-muted:#9a9aa5;--pp-faint:#6b6b74;--pp-border:#2d2d34;--pp-soft:#26262c;--pp-bg:#1b1b20;--pp-switch-off:#3f3f46;--pp-primary:hsl(257 82% 72%);--pp-primary-wash:hsl(257 74% 62% / 0.22)}.dark .pp .pp-code,.dark .pp .pp-note,.dark .pp .pp-rcard .pp-ic{color:#c9c8d2}.dark .pp .pp-key{color:hsl(257 82% 76%)}.dark .pp .pp-str{color:hsl(160 60% 62%)}.dark .pp .pp-rt-btn{color:#a1a1aa}.dark .pp .pp-rt-toolbar{background:#232329}.dark .pp .pp-reveal{background:#202026}.dark .pp .pp-fb-row{border-bottom-color:#2d2d34}.vr{--vr-accent:#9675FF;--vr-accent-fg:#ffffff;--vr-marker:#171717;--vr-fg:#171717;--vr-muted:#737373;--vr-border:#e5e5e5;--vr-bg:#ffffff;border:1px solid var(--vr-border);border-radius:12px;background:var(--vr-bg);padding:20px 16px 16px;margin:16px 0 24px;font-family:\"Inter\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--vr-fg)}.vr,.vr *,.vr ::after,.vr ::before{box-sizing:border-box}.vr-intro{margin-bottom:20px;font-size:13px;color:var(--vr-muted)}.vr-row{display:grid;grid-template-columns:200px 1fr;gap:12px}.vr-lane{position:relative;margin:0 24px 0 0}.vr-head,.vr-marker-label{font-size:13px;font-weight:600}.vr-head{margin-bottom:12px}.vr-marker-label{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap;transition:left 120ms ease}.vr-bars,.vr-labels{display:flex;flex-direction:column;gap:10px;padding:8px 0 16px}.vr-label{display:flex;align-items:center;justify-content:space-between;gap:12px;height:30px}.vr-name{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.vr-status{font-size:12px;font-weight:600}.vr-status-on{color:var(--vr-accent)}.vr-status-off{color:var(--vr-muted)}.vr-track{position:relative;height:30px}.vr-bar{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding:0 10px;border-radius:6px;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums;transition:background-color 150ms ease,color 150ms ease,border-color 150ms ease}.vr-bar-on{background:var(--vr-accent);color:var(--vr-accent-fg);border:1px solid var(--vr-accent)}.vr-bar-off{background:0 0;color:var(--vr-fg);border:1.5px dashed var(--vr-muted)}.vr-bar-short .vr-bar-text{position:absolute;right:calc(100% + 8px);color:var(--vr-fg)}.vr-marker{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;z-index:1;background:var(--vr-marker);pointer-events:none;transition:left 120ms ease}.vr-axis{position:relative;height:28px;border-top:1px solid var(--vr-muted)}.vr-axis-caption,.vr-tick{font-size:12px;color:var(--vr-muted)}.vr-tick{position:absolute;top:0;padding-top:12px;transform:translateX(-50%);white-space:nowrap}.vr-tick::before{content:\"\";position:absolute;top:0;left:50%;width:1px;height:6px;background:var(--vr-muted)}.vr-axis-caption{margin-top:4px;text-align:right}.vr-control{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:16px;cursor:pointer}.vr-control-label{font-weight:600}.vr-control-value{font-weight:600;min-width:56px;text-align:right}.vr-slider{width:100%;margin:0;accent-color:var(--vr-accent);cursor:pointer}@media (max-width:520px){.vr-row{grid-template-columns:112px 1fr;gap:8px}.vr-label{flex-direction:column;align-items:flex-start;justify-content:center;gap:0;height:36px;line-height:1.2}.vr-name{font-size:12px}.vr-track{height:36px}.vr-lane{margin-right:16px}.vr-bar{font-size:0;padding:0}.vr-tick:nth-child(even){display:none}.vr-control{grid-template-columns:1fr auto}.vr-control-label{grid-column:1/-1}}.dark .vr{--vr-accent:#9675FF;--vr-accent-fg:#ffffff;--vr-marker:#e8e8ea;--vr-fg:#e8e8ea;--vr-muted:#9a9aa5;--vr-border:#2d2d34;--vr-bg:#1b1b20}"}],"page":{"pagePath":"install/options/aws","slug":"/install/options/aws","pageMetadata":{"title":"AWS (Pulumi)","description":"Get Activepieces up \u0026 running on AWS with Pulumi for IaC","href":"/install/options/aws"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Get Activepieces up \u0026 running on AWS with Pulumi for IaC\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,br:`br`,code:`code`,img:`img`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`infrastructure-as-code-iac-with-pulumi`,children:`Infrastructure-as-Code (IaC) with Pulumi`}),`\n`,_jsx(_components.p,{children:`Pulumi is an IaC solution akin to Terraform or CloudFormation that lets you deploy \u0026 manage your infrastructure using popular programming languages e.g. Typescipt (which we’ll use), C#, Go etc.`}),`\n`,_jsx(Heading,{level:`2`,id:`deploy-from-pulumi-cloud`,children:`Deploy from Pulumi Cloud`}),`\n`,_jsxs(_components.p,{children:[`If you’re already familiar with Pulumi Cloud and have `,_jsx(_components.a,{href:`https://www.pulumi.com/docs/pulumi-cloud/deployments/oidc/aws/#configuring-openid-connect-for-aws`,children:`integrated their services with your AWS account`}),`, you can use the button below to deploy Activepieces in a few clicks.\nThe template will deploy the latest Activepieces image that’s available on `,_jsx(_components.a,{href:`https://hub.docker.com/r/activepieces/activepieces`,children:`Docker Hub`}),`.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://app.pulumi.com/new?template=https://github.com/activepieces/activepieces/tree/main/deploy/pulumi`,children:_jsx(_components.img,{src:`https://get.pulumi.com/new/button.svg`,alt:`Deploy with Pulumi`})})}),`\n`,_jsx(Heading,{level:`2`,id:`deploy-from-a-local-environment`,children:`Deploy from a local environment`}),`\n`,_jsx(_components.p,{children:`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:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`$`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` mkdir`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` deploy-activepieces`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026 `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`cd`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` deploy-activepieces`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`$`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pulumi`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` new`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://github.com/activepieces/activepieces/tree/main/deploy/pulumi`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`$`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pulumi`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` up`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`what’s-deployed`,children:`What’s Deployed?`}),`\n`,_jsx(_components.p,{children:`The template is setup to be somewhat flexible, supporting what could be a development or more production-ready configuration.\nThe configuration options that are presented during stack configuration will allow you to optionally add any or all of:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`PostgreSQL RDS instance. Opting out of this will use a local SQLite3 Db.`}),`\n`,_jsx(_components.li,{children:`Single node Redis 7 cluster. Opting out of this will mean using an in-memory cache.`}),`\n`,_jsx(_components.li,{children:`Fully qualified domain name with SSL. Note that the hosted zone must already be configured in Route 53.\nOpting out of this will mean relying on using the application load balancer’s url over standard HTTP to access your Activepieces deployment.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`For a full list of all the currently available configuration options, take a look at the `,_jsx(_components.a,{href:`https://github.com/activepieces/activepieces/tree/main/deploy/pulumi/Pulumi.yaml`,children:`Activepieces Pulumi template file on GitHub`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`setting-up-pulumi-for-the-first-time`,children:`Setting up Pulumi for the first time`}),`\n`,_jsx(_components.p,{children:`If you’re new to Pulumi then read on to get your local dev environment setup to be able to deploy Activepieces.`}),`\n`,_jsx(Heading,{level:`3`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Make sure you have `,_jsx(_components.a,{href:`https://nodejs.org/en/download`,children:`Node`}),` and `,_jsx(_components.a,{href:`https://www.pulumi.com/docs/install/`,children:`Pulumi`}),` installed.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html`,children:`Install and configure the AWS CLI`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://www.pulumi.com/docs/clouds/aws/get-started/begin/`,children:`Install and configure Pulumi`}),`.`]}),`\n`,_jsx(_components.li,{children:`Create an S3 bucket which we’ll use to maintain the state of all the various service we’ll provision for our Activepieces deployment:`}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`aws`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` s3api`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` create-bucket`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --bucket`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pulumi-state`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --region`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` us-east-1`})]}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Note: `,_jsx(_components.a,{href:`https://www.pulumi.com/docs/concepts/state/#deciding-on-a-state-backend`,children:`Pulumi supports to two different state management approaches`}),`.\nIf you’d rather use Pulumi Cloud instead of S3 then feel free to skip this step and setup an account with Pulumi.`]})}),`\n`,_jsxs(_components.ol,{start:`5`,children:[`\n`,_jsx(_components.li,{children:`Login to the Pulumi backend:`}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pulumi`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` login`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` s3://pulumi-state?region=us-east-1`})]}),`\n`]})})}),`\n`,_jsxs(_components.ol,{start:`6`,children:[`\n`,_jsx(_components.li,{children:`Next we’re going to use the Activepieces Pulumi deploy template to create a new project, a stack in that project and then kick off the deploy:`}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`$`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` mkdir`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` deploy-activepieces`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026 `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`cd`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` deploy-activepieces`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`$`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pulumi`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` new`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://github.com/activepieces/activepieces/tree/main/deploy/pulumi`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Note: When choosing a stack name, use something descriptive like `,_jsx(_components.code,{children:`activepieces-dev`}),`, `,_jsx(_components.code,{children:`ap-prod`}),` etc.\nThis solution uses the stack name as a prefix for every AWS service created`,_jsx(_components.br,{}),`\n`,`e.g. your VPC will be named `,_jsx(_components.code,{children:`\u003cstack name>-vpc`}),`.`]})}),`\n`,_jsxs(_components.ol,{start:`7`,children:[`\n`,_jsx(_components.li,{children:`Nothing left to do now but kick off the deploy:`}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pulumi`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` up`})]}),`\n`]})})}),`\n`,_jsxs(_components.ol,{start:`8`,children:[`\n`,_jsxs(_components.li,{children:[`Now choose `,_jsx(_components.code,{children:`yes`}),` when prompted. Once the deployment has finished, you should see a bunch of Pulumi output variables that look like the following:`]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` _: {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:` activePiecesUrl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http://\u003calb name \u0026 id>.us-east-1.elb.amazonaws.com\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:` activepiecesEnv:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:` .`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:` .`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:` .`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:` .`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The config value of interest here is the `,_jsx(_components.code,{children:`activePiecesUrl`}),` as that is the URL for our Activepieces deployment.\nIf you chose to add a fully qualified domain during your stack configuration, that will be displayed here.\nOtherwise you’ll see the URL to the application load balancer. And that’s it.`]}),`\n`,_jsx(_components.p,{children:`Congratulations! You have successfully deployed Activepieces to AWS.`}),`\n`,_jsx(Heading,{level:`2`,id:`deploy-a-locally-built-activepieces-docker-image`,children:`Deploy a locally built Activepieces Docker image`}),`\n`,_jsx(_components.p,{children:`To deploy a locally built image instead of using the official Docker Hub image, read on.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Clone the Activepieces repo locally:`}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`git`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` clone`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://github.com/activepieces/activepieces`})]}),`\n`]})})}),`\n`,_jsxs(_components.ol,{start:`2`,children:[`\n`,_jsxs(_components.li,{children:[`Move into the `,_jsx(_components.code,{children:`deploy/pulumi`}),` folder \u0026 install the necessary npm packages:`]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`cd`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` deploy/pulumi`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026 `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`npm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` i`})]}),`\n`]})})}),`\n`,_jsxs(_components.ol,{start:`3`,children:[`\n`,_jsxs(_components.li,{children:[`This folder already has two Pulumi stack configuration files reday to go: `,_jsx(_components.code,{children:`Pulumi.activepieces-dev.yaml`}),` and `,_jsx(_components.code,{children:`Pulumi.activepieces-prod.yaml`}),`.\nThese files already contain all the configurations we need to create our environments. Feel free to have a look \u0026 edit the values as you see fit.\nLets continue by creating a development stack that uses the existing `,_jsx(_components.code,{children:`Pulumi.activepieces-dev.yaml`}),` file \u0026 kick off the deploy.`]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pulumi`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` stack`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` init`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` activepieces-dev`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026 `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pulumi`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` up`})]}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Note: Using `,_jsx(_components.code,{children:`activepieces-dev`}),` or `,_jsx(_components.code,{children:`activepieces-prod`}),` for the `,_jsx(_components.code,{children:`pulumi stack init`}),` command is required here as the stack name needs to match the existing stack file name in the folder.`]})}),`\n`,_jsxs(_components.ol,{start:`4`,children:[`\n`,_jsxs(_components.li,{children:[`You should now see a preview in the terminal of all the services that will be provisioned, before you continue.\nOnce you choose `,_jsx(_components.code,{children:`yes`}),`, a new image will be built based on the `,_jsx(_components.code,{children:`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.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Congratulations! You have successfully deployed Activepieces into AWS using a locally built Docker image.`}),`\n`,_jsx(Heading,{level:`2`,id:`customising-the-deploy`,children:`Customising the deploy`}),`\n`,_jsxs(_components.p,{children:[`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.\nFor 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 `,_jsx(_components.code,{children:`index.ts`}),` file inside the `,_jsx(_components.code,{children:`deploy`}),` folder.`]}),`\n`,_jsxs(_components.p,{children:[`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 `,_jsx(_components.code,{children:`deployLocalBuild`}),` config option in the stack file to `,_jsx(_components.code,{children:`false`}),` and make whatever changes you’d like to the `,_jsx(_components.code,{children:`index.ts`}),` file.`]}),`\n`,_jsxs(_components.p,{children:[`Checking out the `,_jsx(_components.a,{href:`https://www.pulumi.com/docs/clouds/aws/`,children:`Pulumi docs`}),` before doing so is highly encouraged.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"AWS (Pulumi)","description":"Get Activepieces up \u0026 running on AWS with Pulumi for IaC","href":"/install/options/aws"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Infrastructure-as-Code (IaC) with Pulumi","slug":"infrastructure-as-code-iac-with-pulumi","depth":1,"children":[]},{"title":"Deploy from Pulumi Cloud","slug":"deploy-from-pulumi-cloud","depth":2,"children":[]},{"title":"Deploy from a local environment","slug":"deploy-from-a-local-environment","depth":2,"children":[]},{"title":"What’s Deployed?","slug":"what’s-deployed","depth":2,"children":[]},{"title":"Setting up Pulumi for the first time","slug":"setting-up-pulumi-for-the-first-time","depth":2,"children":[{"title":"Prerequisites","slug":"prerequisites","depth":3,"children":[]}]},{"title":"Deploy a locally built Activepieces Docker image","slug":"deploy-a-locally-built-activepieces-docker-image","depth":2,"children":[]},{"title":"Customising the deploy","slug":"customising-the-deploy","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"activepieces","siteName":"Activepieces","title":"AWS (Pulumi) - Activepieces","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-22T13:31:38.620Z","originalFileLocation":"install/options/aws.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Get Activepieces up \u0026amp; running on AWS with Pulumi for IaC\">\u003cmeta data-mint-head name=\"application-name\" content=\"Activepieces\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/activepieces/p9XH-af1QM0u3PKd/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/activepieces/p9XH-af1QM0u3PKd/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/activepieces/p9XH-af1QM0u3PKd/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/activepieces/p9XH-af1QM0u3PKd/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/activepieces/p9XH-af1QM0u3PKd/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/activepieces/p9XH-af1QM0u3PKd/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/activepieces/p9XH-af1QM0u3PKd/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/activepieces/p9XH-af1QM0u3PKd/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/activepieces/p9XH-af1QM0u3PKd/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"AWS (Pulumi) - Activepieces\">\u003cmeta data-mint-head property=\"og:description\" content=\"Get Activepieces up \u0026amp; running on AWS with Pulumi for IaC\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Activepieces\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.activepieces.com/docs/install/options/aws\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://activepieces.mintlify.app/_mintlify/api/og/v2?division=Other+Options\u0026amp;title=AWS+%28Pulumi%29\u0026amp;description=Get+Activepieces+up+%26+running+on+AWS+with+Pulumi+for+IaC\u0026amp;theme=4762f02fd8bc74d552ceb2c7\u0026amp;signature=403170404cfcde552a7311d7f5deaf0bc25eeb438e27e487dcbe9378cc2a1cc7\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"AWS (Pulumi) - Activepieces\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Get Activepieces up \u0026amp; running on AWS with Pulumi for IaC\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://activepieces.mintlify.app/_mintlify/api/og/v2?division=Other+Options\u0026amp;title=AWS+%28Pulumi%29\u0026amp;description=Get+Activepieces+up+%26+running+on+AWS+with+Pulumi+for+IaC\u0026amp;theme=4762f02fd8bc74d552ceb2c7\u0026amp;signature=403170404cfcde552a7311d7f5deaf0bc25eeb438e27e487dcbe9378cc2a1cc7\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/activepieces/p9XH-af1QM0u3PKd/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Activepieces\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#9675FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.activepieces.com/docs/install/options/aws\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/install/options/aws.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.activepieces.com/#organization\",\"name\":\"Activepieces\",\"url\":\"https://www.activepieces.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/activepieces/fJ5Tlm8YTN5F2Mlz/resources/logo/light.svg?fit=max\u0026auto=format\u0026n=fJ5Tlm8YTN5F2Mlz\u0026q=85\u0026s=45ca3c4c50e981e74952921edc9a9fa2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.activepieces.com/docs#website\",\"name\":\"Activepieces\",\"url\":\"https://www.activepieces.com/docs\",\"publisher\":{\"@id\":\"https://www.activepieces.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.activepieces.com/docs/install/options/aws#webpage\",\"url\":\"https://www.activepieces.com/docs/install/options/aws\",\"name\":\"AWS (Pulumi)\",\"description\":\"Get Activepieces up \u0026 running on AWS with Pulumi for IaC\",\"dateModified\":\"2026-01-22T13:31:38.620Z\",\"isPartOf\":{\"@id\":\"https://www.activepieces.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.activepieces.com/docs/install/options/aws#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.activepieces.com/docs/install/options/aws#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Install Activepieces\",\"item\":\"https://www.activepieces.com/docs/install/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Other Options\",\"item\":\"https://www.activepieces.com/docs/install/options/docker\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"AWS (Pulumi)\",\"item\":\"https://www.activepieces.com/docs/install/options/aws\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.activepieces.com/docs/install/options/aws#article\",\"headline\":\"AWS (Pulumi)\",\"name\":\"AWS (Pulumi)\",\"description\":\"Get Activepieces up \u0026 running on AWS with Pulumi for IaC\",\"url\":\"https://www.activepieces.com/docs/install/options/aws\",\"mainEntityOfPage\":{\"@id\":\"https://www.activepieces.com/docs/install/options/aws#webpage\"},\"dateModified\":\"2026-01-22T13:31:38.620Z\",\"publisher\":{\"@id\":\"https://www.activepieces.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.activepieces.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Activepieces\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Activepieces","nav":{"global":{},"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/overview/welcome"}]},{"tab":"Install Activepieces","groups":[{"group":"Install Activepieces","pages":[{"title":"Install Options","sidebarTitle":"Install options","icon":"hand-wave","href":"/install/overview"},{"title":"Self Host Activepieces","sidebarTitle":"Self host (Docker)","icon":"docker","href":"/install/options/docker-compose"},{"title":"Kubernetes Installation","sidebarTitle":"Kubernetes (Helm)","icon":"ship","href":"/install/options/helm"},{"title":"Activate an Enterprise License Key","sidebarTitle":"License key","icon":"key","href":"/install/configure-operate/enterprise-license"},{"group":"Other Options","pages":[{"title":"Hobbyist Installation","sidebarTitle":"Hobby (Docker)","href":"/install/options/docker"},{"title":"Easypanel","description":"Run Activepieces with Easypanel 1-Click Install","href":"/install/options/easypanel"},{"title":"AWS (Pulumi)","href":"/install/options/aws"},{"title":"GCP","description":null,"href":"/install/options/gcp"},{"title":"Railway","href":"/install/options/railway"},{"title":"Elestio","href":"/install/options/elestio"}]}]},{"group":"Self hosting","pages":[{"title":"Production Setup","icon":"ruler-combined","href":"/install/configure-operate/production-setup"},{"group":"Production Essentials","icon":"rocket","pages":[{"title":"Separate Workers","icon":"robot","href":"/install/configure-operate/separate-workers"},{"title":"Sandboxing Mode","icon":"code","href":"/install/configure-operate/sandboxing"},{"title":"HTTPS","icon":"shield","href":"/install/configure-operate/setup-ssl"},{"title":"S3 Storage","icon":"cloud","href":"/install/configure-operate/setup-s3"}]},{"group":"Operations","icon":"screwdriver-wrench","pages":[{"title":"Worker Groups","icon":"users-gear","href":"/install/configure-operate/worker-groups"},{"title":"App Webhooks","icon":"webhook","href":"/install/configure-operate/setup-app-webhooks"},{"title":"Observability","icon":"chart-line","href":"/install/configure-operate/setup-opentelemetry"},{"title":"Telemetry","icon":"calculator","href":"/install/configure-operate/telemetry"},{"title":"Rollback","icon":"rotate-left","href":"/install/configure-operate/rollback"}]}]},{"group":"Troubleshooting","pages":[{"title":"Queues Dashboard","icon":"gauge-high","href":"/install/troubleshooting/bullboard"},{"title":"Reset Password","icon":"key","href":"/install/troubleshooting/reset-password"},{"title":"Truncated Logs","icon":"file-lines","href":"/install/troubleshooting/truncated-logs"},{"title":"Websocket Issues","icon":"plug","href":"/install/troubleshooting/websocket-issues"}]},{"group":"Reference","pages":[{"title":"Environment Variables","icon":"gear","href":"/install/reference/environment-variables"},{"title":"Limits","icon":"ban","href":"/install/reference/limits"},{"title":"Breaking Changes","icon":"hammer","href":"/install/reference/breaking-changes"}]},{"group":"Guarantees","icon":"shield-check","pages":[{"title":"Crash Recovery","icon":"shield-check","href":"/install/guarantees/crash-recovery"},{"title":"Disaster Recovery","icon":"life-ring","href":"/install/guarantees/disaster-recovery"},{"title":"Reserved Resources","icon":"memory","href":"/install/guarantees/reserved-resources"},{"title":"Execution Isolation","icon":"lock","href":"/install/guarantees/execution-isolation"}]},{"group":"Architecture","pages":[{"title":"Overview","icon":"cube","href":"/install/architecture/overview"},{"title":"Workers","icon":"gears","href":"/install/architecture/workers"},{"title":"Sandboxing","icon":"box","href":"/install/architecture/sandboxing"},{"title":"Durable Execution","icon":"shield-check","href":"/install/architecture/durable-execution"},{"title":"Waitpoints","icon":"hourglass-half","href":"/install/architecture/waitpoints"},{"title":"Network Security","icon":"shield-halved","href":"/install/architecture/network-security"},{"title":"Piece syncing \u0026 versioning","icon":"puzzle-piece","href":"/install/architecture/piece-syncing"},{"title":"Benchmark","icon":"gauge-high","href":"/install/architecture/benchmark"},{"title":"Latency","icon":"stopwatch","href":"/install/architecture/latency"},{"title":"Autoscaling","icon":"arrows-up-down","href":"/install/architecture/autoscaling"}]}]},{"tab":"Enterprise Control","icon":"crown","pages":[{"title":"Enterprise Control","href":"/admin-guide/overview"}]},{"tab":"Build Pieces","pages":[{"title":"Build Pieces","href":"/build-pieces/building-pieces/overview"}]},{"tab":"Embed SDK","pages":[{"title":"Embed SDK","href":"/embedding/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/endpoints/overview"}]}]},"title":"AWS (Pulumi) - Activepieces","buildId":"dpl_3DJU2xKhT5gDPFQL5Tqv7AFnkWsF","deploymentId":"dpl_3DJU2xKhT5gDPFQL5Tqv7AFnkWsF","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-zlSAS9__.js","lightbox-handle-r17bVUz3.js"]}