[{"data":1,"prerenderedAt":677},["ShallowReactive",2],{"docs-\u002Fdocs\u002Finstall\u002Fdocker\u002Faws-marketplace\u002F":3,"docs-nav":221},{"id":4,"title":5,"body":6,"description":208,"extension":209,"layout":210,"meta":211,"navGroup":210,"navGroupOrder":210,"navOrder":210,"navTitle":212,"navigation":213,"originalPath":214,"path":215,"redirect":210,"seo":216,"stem":217,"updated":218,"version":219,"__hash__":220},"docs\u002Fdocs\u002Finstall\u002Fdocker\u002Faws-marketplace.md","Installing FlowFuse from AWS Market Place",{"type":7,"value":8,"toc":197},"minimark",[9,13,25,28,33,38,41,56,59,69,72,76,79,82,95,98,102,105,108,135,146,152,155,161,164,170,173,176,182,186],[10,11,5],"h1",{"id":12},"installing-flowfuse-from-aws-market-place",[14,15,16,17,24],"p",{},"We have packaged the Docker Compose build of FlowFuse as a AWS EC2 AMI. It can be found on the AWS Market Place ",[18,19,23],"a",{"href":20,"rel":21},"https:\u002F\u002Faws.amazon.com\u002Fmarketplace\u002Fpp\u002Fprodview-3ycrknfg67rug",[22],"nofollow","here",".",[14,26,27],{},"This will allow you to quickly spin up an AWS EC2 Machine with everything pre-installed.",[29,30,32],"h2",{"id":31},"prerequisites","Prerequisites",[34,35,37],"h3",{"id":36},"dns","DNS",[14,39,40],{},"To make use of the AWS Machine image you will need a DNS Domain to host both the FlowFuse application and the Node-RED instances you create.",[14,42,43,44,48,49,52,53,24],{},"For example if you use ",[45,46,47],"code",{},"ff.example.com"," then the FlowFuse application will run on ",[45,50,51],{},"https:\u002F\u002Fforge.ff.example.com"," and Node-RED would be on ",[45,54,55],{},"https:\u002F\u002F[instance-name].ff.example.com",[14,57,58],{},"You will need to set up a wildcard DNS entry that points the whole domain to the Public IP address of the Droplet.",[60,61,66],"pre",{"className":62,"code":64,"language":65},[63],"language-text","*.ff.example.com 3600 A xxx.xxx.xxx.xxx\n","text",[45,67,64],{"__ignoreMap":68},"",[14,70,71],{},"The Public IP address of the EC2 machine will be listed in the AWS Console once it has started and at the start of the Setup Wizard when you first SSH into the machine.",[34,73,75],{"id":74},"smtp-server-optional","SMTP Server (Optional)",[14,77,78],{},"This is used to send invites to new user and to enable password resets.",[14,80,81],{},"You will need to know the following:",[83,84,85,89,92],"ul",{},[86,87,88],"li",{},"SMTP Server hostname",[86,90,91],{},"Port (Default 587)",[86,93,94],{},"Username\u002FPassword",[14,96,97],{},"If you don't already have a SMTP server you can grab one from an email delivery service like SparkPost, Sendgrid, Mailgun, etc.",[29,99,101],{"id":100},"setup","Setup",[14,103,104],{},"After the EC2 Machine has been created and you have set up the DNS entry you will need to connect to the machine to and enter the domain name",[14,106,107],{},"You can do this in 2 ways",[109,110,111,120],"ol",{},[86,112,113,114],{},"With SSH, either using keys or password depending on what Authentication mechanism you picked at creation time",[60,115,118],{"className":116,"code":117,"language":65},[63],"ssh -i aws-ssh.pem ubuntu@xxx.xxx.xxx.xxx\n",[45,119,117],{"__ignoreMap":68},[86,121,122,123,126,127,130],{},"Using the \"Connect\" button on the EC2 console. Be sure to change the username from ",[45,124,125],{},"root"," to ",[45,128,129],{},"ubuntu",[131,132],"img",{"alt":133,"src":134},"AWS EC2 Console","\u002Fdocs\u002Finstall\u002Fimages\u002Faws-console-connect.png",[14,136,137,138,141,142,145],{},"Once logged in you will be presented with a wizard to set the domain and confirm by entering ",[45,139,140],{},"1"," or ",[45,143,144],{},"2"," to enter the domain again.",[14,147,148],{},[131,149],{"alt":150,"src":151},"Digital Ocean Wizard","\u002Fdocs\u002Finstall\u002Fimages\u002Fdo-wizard.png",[14,153,154],{},"The wizard will then ask about setting up a SMTP server to allow FlowFuse to send email. This used to invite users or reset passwords,\nit is optional.",[14,156,157],{},[131,158],{"alt":159,"src":160},"Digital Ocean Wizard SMTP","\u002Fdocs\u002Finstall\u002Fimages\u002Fdo-wizard-smtp.png",[14,162,163],{},"The wizard will then update the configuration files and start FlowFuse",[14,165,166],{},[131,167],{"alt":168,"src":169},"Digital Ocean Direct to Setup","\u002Fdocs\u002Finstall\u002Fimages\u002Fdo-direct-to-setup.png",[14,171,172],{},"It will then present a link to complete setup in the browser and a Username and Password to log in as the default admin user. You will be asked to change the password when you use it for the first time.",[14,174,175],{},"You can now close the console connection to the droplet.",[14,177,178,179],{},"Details of how to complete this steps are ",[18,180,23],{"href":181},"\u002Fdocs\u002Finstall\u002Ffirst-run",[29,183,185],{"id":184},"upgrade","Upgrade",[14,187,188,189,193,194],{},"You can follow the normal FlowFuse Docker ",[18,190,192],{"href":191},"\u002Fdocs\u002Finstall\u002Fdocker#upgrade","upgrade instructions",", the install directory is ",[45,195,196],{},"\u002Fopt\u002Fflowforge",{"title":68,"searchDepth":198,"depth":198,"links":199},4,[200,206,207],{"id":31,"depth":201,"text":32,"children":202},2,[203,205],{"id":36,"depth":204,"text":37},3,{"id":74,"depth":204,"text":75},{"id":100,"depth":201,"text":101},{"id":184,"depth":201,"text":185},"We have packaged the Docker Compose build of FlowFuse as a AWS EC2 AMI. It can be found on the AWS Market Place here.","md",null,{},"Docker from AWS Market Place",true,"install\u002Fdocker\u002Faws-marketplace.md","\u002Fdocs\u002Finstall\u002Fdocker\u002Faws-marketplace",{"title":5,"description":208},"docs\u002Finstall\u002Fdocker\u002Faws-marketplace","2024-07-19 20:21:52 +0530","2.33.2","r9oP5-U_1YcidEaQ6ToDxnfX9_cLbAtw_Q_CNiYpubM",[222,230,249,261],{"name":223,"order":224,"children":225},"FlowFuse User Manuals",1,[226],{"title":227,"path":228,"group":223,"groupOrder":224,"order":201,"children":229},"FlowFuse API","\u002Fdocs\u002Fapi",[],{"name":231,"order":198,"children":232},"FlowFuse Self-Hosted",[233,237],{"title":234,"path":235,"group":231,"groupOrder":198,"order":224,"children":236},"Quick Start","\u002Fdocs\u002Fquick-start",[],{"title":238,"path":239,"group":231,"groupOrder":198,"order":204,"children":240},"Upgrading FlowFuse","\u002Fdocs\u002Fupgrade",[241,245],{"title":242,"path":243,"order":210,"children":244},"Installing a license","\u002Fdocs\u002Fupgrade\u002Fopen-source-to-premium",[],{"title":246,"path":247,"order":210,"children":248},"Upgrading the Node-RED version","\u002Fdocs\u002Fupgrade\u002Fnodered-version",[],{"name":250,"order":251,"children":252},"Support",5,[253,257],{"title":254,"path":255,"group":250,"groupOrder":251,"order":204,"children":256},"Premium Support","\u002Fdocs\u002Fpremium-support",[],{"title":258,"path":259,"group":250,"groupOrder":251,"order":210,"children":260},"Debugging Node-RED issues","\u002Fdocs\u002Fdebugging",[],{"name":262,"order":210,"children":263},"Other",[264,312,324,403,452,471,542,553],{"title":265,"path":266,"order":210,"children":267},"admin","\u002Fdocs\u002Fadmin",[268,272,284,292,296,300,304,308],{"title":269,"path":270,"order":224,"children":271},"Administering FlowFuse","\u002Fdocs\u002Fadmin\u002Fintroduction",[],{"title":273,"path":274,"order":210,"children":275},"Configuring Single Sign-On (SSO)","\u002Fdocs\u002Fadmin\u002Fsso",[276,280],{"title":277,"path":278,"order":210,"children":279},"LDAP SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fldap",[],{"title":281,"path":282,"order":210,"children":283},"SAML SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fsaml",[],{"title":285,"path":286,"order":210,"children":287},"hardening","\u002Fdocs\u002Fadmin\u002Fhardening",[288],{"title":289,"path":290,"order":210,"children":291},"Kubernetes Hardening","\u002Fdocs\u002Fadmin\u002Fhardening\u002Fkubernetes",[],{"title":293,"path":294,"order":210,"children":295},"Monitoring","\u002Fdocs\u002Fadmin\u002Fmonitoring",[],{"title":297,"path":298,"order":210,"children":299},"Observability","\u002Fdocs\u002Fadmin\u002Fobservability",[],{"title":301,"path":302,"order":210,"children":303},"Soft Launch Enablement","\u002Fdocs\u002Fadmin\u002Ffeature-flags",[],{"title":305,"path":306,"order":210,"children":307},"Telemetry","\u002Fdocs\u002Fadmin\u002Ftelemetry",[],{"title":309,"path":310,"order":210,"children":311},"User Management","\u002Fdocs\u002Fadmin\u002Fuser-management",[],{"title":313,"path":314,"order":210,"children":315},"cloud","\u002Fdocs\u002Fcloud",[316,320],{"title":317,"path":318,"order":224,"children":319},"Introduction","\u002Fdocs\u002Fcloud\u002Fintroduction",[],{"title":321,"path":322,"order":210,"children":323},"FlowFuse Cloud Billing","\u002Fdocs\u002Fcloud\u002Fbilling",[],{"title":325,"path":326,"order":210,"children":327},"contribute","\u002Fdocs\u002Fcontribute",[328,331,335,339,343,347,351,359,395,399],{"title":317,"path":329,"order":224,"children":330},"\u002Fdocs\u002Fcontribute\u002Fintroduction",[],{"title":332,"path":333,"order":210,"children":334},"Adding Template Settings","\u002Fdocs\u002Fcontribute\u002Fadding-template-settings",[],{"title":336,"path":337,"order":210,"children":338},"API Design","\u002Fdocs\u002Fcontribute\u002Fapi-design",[],{"title":340,"path":341,"order":210,"children":342},"Creating debug stack containers","\u002Fdocs\u002Fcontribute\u002Fcreating-debug-stack-containers",[],{"title":344,"path":345,"order":210,"children":346},"Database migrations","\u002Fdocs\u002Fcontribute\u002Fdb-migrations",[],{"title":348,"path":349,"order":210,"children":350},"FlowFuse Architecture","\u002Fdocs\u002Fcontribute\u002Farchitecture",[],{"title":352,"path":353,"order":210,"children":354},"Local Install","\u002Fdocs\u002Fcontribute\u002Flocal",[355],{"title":356,"path":357,"order":210,"children":358},"Local Stacks","\u002Fdocs\u002Fcontribute\u002Flocal\u002Fstacks",[],{"title":360,"path":361,"order":210,"children":362},"State Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows",[363,367,371,375,379,383,387,391],{"title":364,"path":365,"order":210,"children":366},"Device Editor","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fdevice-editor",[],{"title":368,"path":369,"order":210,"children":370},"Instance states","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-states",[],{"title":372,"path":373,"order":210,"children":374},"Invite External Users","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Finvite-external-user",[],{"title":376,"path":377,"order":210,"children":378},"Project Creation","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-create",[],{"title":380,"path":381,"order":210,"children":382},"Reset Password Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fpassword-reset",[],{"title":384,"path":385,"order":210,"children":386},"Team creation Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fteam-create",[],{"title":388,"path":389,"order":210,"children":390},"User Login Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Flogin",[],{"title":392,"path":393,"order":210,"children":394},"User Sign up Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fsignup",[],{"title":396,"path":397,"order":210,"children":398},"Team Broker","\u002Fdocs\u002Fcontribute\u002Fteam-broker",[],{"title":400,"path":401,"order":210,"children":402},"Working with Feature Flags","\u002Fdocs\u002Fcontribute\u002Ffeature-flags",[],{"title":404,"path":405,"order":210,"children":406},"device-agent","\u002Fdocs\u002Fdevice-agent",[407,411,414,418,422,427],{"title":408,"path":409,"order":224,"children":410},"FlowFuse Device Agent Introduction","\u002Fdocs\u002Fdevice-agent\u002Fintroduction",[],{"title":234,"path":412,"order":201,"children":413},"\u002Fdocs\u002Fdevice-agent\u002Fquickstart",[],{"title":415,"path":416,"order":198,"children":417},"Register your Remote Instance","\u002Fdocs\u002Fdevice-agent\u002Fregister",[],{"title":419,"path":420,"order":251,"children":421},"Running the Agent","\u002Fdocs\u002Fdevice-agent\u002Frunning",[],{"title":423,"path":424,"order":425,"children":426},"Deploying your Flows","\u002Fdocs\u002Fdevice-agent\u002Fdeploy",6,[],{"title":428,"path":429,"order":210,"children":430},"install","\u002Fdocs\u002Fdevice-agent\u002Finstall",[431,436,440,444,448],{"title":432,"path":433,"group":434,"order":224,"children":435},"Overview","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Foverview","DeviceAgentInstallation",[],{"title":437,"path":438,"group":434,"order":201,"children":439},"Device Agent Installer","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdevice-agent-installer",[],{"title":441,"path":442,"group":434,"order":204,"children":443},"Docker Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdocker",[],{"title":445,"path":446,"group":434,"order":198,"children":447},"Kubernetes Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fkubernetes",[],{"title":449,"path":450,"group":434,"order":251,"children":451},"Manual Install with NPM","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fmanual",[],{"title":453,"path":454,"order":210,"children":455},"hardware","\u002Fdocs\u002Fhardware",[456,459,463,467],{"title":432,"path":457,"order":224,"children":458},"\u002Fdocs\u002Fhardware\u002Fintroduction",[],{"title":460,"path":461,"order":201,"children":462},"ctrlX - Node-RED","\u002Fdocs\u002Fhardware\u002Fctrlx-node-red",[],{"title":464,"path":465,"order":204,"children":466},"ctrlX - Device Agent","\u002Fdocs\u002Fhardware\u002Fctrlx-device-agent",[],{"title":468,"path":469,"order":204,"children":470},"Raspberry Pi with Raspbian","\u002Fdocs\u002Fhardware\u002Fraspbian",[],{"title":428,"path":472,"order":210,"children":473},"\u002Fdocs\u002Finstall",[474,477,481,485,503,507,510,514],{"title":432,"path":475,"order":224,"children":476},"\u002Fdocs\u002Finstall\u002Fintroduction",[],{"title":478,"path":479,"order":210,"children":480},"Configuring FlowFuse","\u002Fdocs\u002Finstall\u002Fconfiguration",[],{"title":482,"path":483,"order":210,"children":484},"DNS Setup","\u002Fdocs\u002Finstall\u002Fdns-setup",[],{"title":486,"path":487,"order":210,"children":488},"Docker install","\u002Fdocs\u002Finstall\u002Fdocker",[489,493,497,499],{"title":490,"path":491,"order":210,"children":492},"Add Project Stacks on Docker","\u002Fdocs\u002Finstall\u002Fdocker\u002Fstacks",[],{"title":494,"path":495,"order":210,"children":496},"Docker Engine on Windows","\u002Fdocs\u002Finstall\u002Fdocker\u002Fwindows-docker-ce",[],{"title":212,"path":215,"order":210,"children":498},[],{"title":500,"path":501,"order":210,"children":502},"Docker on Digital Ocean","\u002Fdocs\u002Finstall\u002Fdocker\u002Fdigital-ocean",[],{"title":504,"path":505,"order":210,"children":506},"Email configuration","\u002Fdocs\u002Finstall\u002Femail-providers",[],{"title":508,"path":181,"order":210,"children":509},"First Run Setup",[],{"title":511,"path":512,"order":210,"children":513},"FlowFuse File Storage","\u002Fdocs\u002Finstall\u002Ffile-storage",[],{"title":515,"path":516,"order":210,"children":517},"Install FlowFuse on Kubernetes","\u002Fdocs\u002Finstall\u002Fkubernetes",[518,522,526,530,534,538],{"title":519,"path":520,"order":210,"children":521},"AWS EKS Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws",[],{"title":523,"path":524,"order":210,"children":525},"AWS EKS Installation with Terraform and Helm","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws-terraform",[],{"title":527,"path":528,"order":210,"children":529},"Digital Ocean Kubernetes Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fdigital-ocean",[],{"title":531,"path":532,"order":210,"children":533},"Ingress Controller Migration","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fingress-controller-migration",[],{"title":535,"path":536,"order":210,"children":537},"Kubernetes Project Stacks","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fstacks",[],{"title":539,"path":540,"order":210,"children":541},"OpenShift Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fopenshift",[],{"title":543,"path":544,"order":210,"children":545},"migration","\u002Fdocs\u002Fmigration",[546,549],{"title":317,"path":547,"order":224,"children":548},"\u002Fdocs\u002Fmigration\u002Fintroduction",[],{"title":550,"path":551,"order":210,"children":552},"Node-RED Tools plugin","\u002Fdocs\u002Fmigration\u002Fnode-red-tools",[],{"title":554,"path":555,"order":210,"children":556},"user","\u002Fdocs\u002Fuser",[557,561,565,569,573,578,582,586,590,594,598,602,614,618,622,626,630,634,638,642,646,650,654,658,662,666,669,673],{"title":558,"path":559,"order":224,"children":560},"Getting Started","\u002Fdocs\u002Fuser\u002Fintroduction",[],{"title":562,"path":563,"order":224,"children":564},"Static asset service","\u002Fdocs\u002Fuser\u002Fstatic-asset-service",[],{"title":566,"path":567,"order":201,"children":568},"Bill of Materials","\u002Fdocs\u002Fuser\u002Fbill-of-materials",[],{"title":570,"path":571,"order":201,"children":572},"FlowFuse Concepts","\u002Fdocs\u002Fuser\u002Fconcepts",[],{"title":574,"path":575,"order":576,"children":577},"Instance States","\u002Fdocs\u002Fuser\u002Finstance-states",10,[],{"title":579,"path":580,"order":210,"children":581},"Changing the Stack","\u002Fdocs\u002Fuser\u002Fchangestack",[],{"title":583,"path":584,"order":210,"children":585},"Custom Hostnames","\u002Fdocs\u002Fuser\u002Fcustom-hostnames",[],{"title":587,"path":588,"order":210,"children":589},"Custom Node Packages","\u002Fdocs\u002Fuser\u002Fcustom-npm-packages",[],{"title":591,"path":592,"order":210,"children":593},"Dashboards","\u002Fdocs\u002Fuser\u002Fdashboards",[],{"title":595,"path":596,"order":210,"children":597},"DevOps Pipelines","\u002Fdocs\u002Fuser\u002Fdevops-pipelines",[],{"title":599,"path":600,"order":210,"children":601},"Environment Variables","\u002Fdocs\u002Fuser\u002Fenvvar",[],{"title":603,"path":604,"order":210,"children":605},"FlowFuse Expert","\u002Fdocs\u002Fuser\u002Fexpert",[606,610],{"title":607,"path":608,"order":210,"children":609},"AI in Node-RED","\u002Fdocs\u002Fuser\u002Fexpert\u002Fnode-red-embedded-ai",[],{"title":611,"path":612,"order":210,"children":613},"Chat Interface","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat",[],{"title":615,"path":616,"order":210,"children":617},"FlowFuse File Nodes","\u002Fdocs\u002Fuser\u002Ffilenodes",[],{"title":619,"path":620,"order":210,"children":621},"FlowFuse MQTT Nodes","\u002Fdocs\u002Fuser\u002Fmqtt-nodes",[],{"title":623,"path":624,"order":210,"children":625},"FlowFuse Persistent Context","\u002Fdocs\u002Fuser\u002Fpersistent-context",[],{"title":627,"path":628,"order":210,"children":629},"FlowFuse Project Nodes","\u002Fdocs\u002Fuser\u002Fprojectnodes",[],{"title":631,"path":632,"order":210,"children":633},"FlowFuse Tables","\u002Fdocs\u002Fuser\u002Fff-tables",[],{"title":635,"path":636,"order":210,"children":637},"Groups","\u002Fdocs\u002Fuser\u002Fdevice-groups",[],{"title":639,"path":640,"order":210,"children":641},"High Availability mode","\u002Fdocs\u002Fuser\u002Fhigh-availability",[],{"title":643,"path":644,"order":210,"children":645},"HTTP Access Tokens","\u002Fdocs\u002Fuser\u002Fhttp-access-tokens",[],{"title":647,"path":648,"order":210,"children":649},"Instance Settings","\u002Fdocs\u002Fuser\u002Finstance-settings",[],{"title":651,"path":652,"order":210,"children":653},"Logging","\u002Fdocs\u002Fuser\u002Flogs",[],{"title":655,"path":656,"order":210,"children":657},"Role-Based Access Control","\u002Fdocs\u002Fuser\u002Frole-based-access-control",[],{"title":659,"path":660,"order":210,"children":661},"Shared Team Library","\u002Fdocs\u002Fuser\u002Fshared-library",[],{"title":663,"path":664,"order":210,"children":665},"Snapshots","\u002Fdocs\u002Fuser\u002Fsnapshots",[],{"title":396,"path":667,"order":210,"children":668},"\u002Fdocs\u002Fuser\u002Fteambroker",[],{"title":670,"path":671,"order":210,"children":672},"Teams","\u002Fdocs\u002Fuser\u002Fteam",[],{"title":674,"path":675,"order":210,"children":676},"User Settings","\u002Fdocs\u002Fuser\u002Fuser-settings",[],1786546040802]