stable-diffusion-aws-extension/en/deployment/deployment_comfyui/index.html

1731 lines
44 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="canonical" href="https://awslabs.github.io/stable-diffusion-aws-extension/deployment/deployment_comfyui/">
<link rel="prev" href="../deployment/">
<link rel="next" href="../deployment_for_existing_users/">
<link rel="icon" href="https://s3.cn-north-1.amazonaws.com.cn/aws-assets-prod/libra-css/images/site/fav/favicon.ico">
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.30">
<title>Deploy for ComfyUI - Extension for Stable Diffusion on AWS</title>
<link rel="stylesheet" href="../../assets/stylesheets/main.3cba04c6.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#deployment-summary" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="Extension for Stable Diffusion on AWS" class="md-header__button md-logo" aria-label="Extension for Stable Diffusion on AWS" data-md-component="logo">
<img src="https://s3.cn-north-1.amazonaws.com.cn/aws-assets-prod/libra-css/images/site/fav/favicon.ico" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Extension for Stable Diffusion on AWS
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Deploy for ComfyUI
</span>
</div>
</div>
</div>
<script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button class="md-header__button md-icon" aria-label="Select language">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"/></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a href="/stable-diffusion-aws-extension/en/" hreflang="en" class="md-select__link">
English
</a>
</li>
<li class="md-select__item">
<a href="/stable-diffusion-aws-extension/zh/" hreflang="zh" class="md-select__link">
简体中文
</a>
</li>
<li class="md-select__item">
<a href="/stable-diffusion-aws-extension/ja/" hreflang="ja" class="md-select__link">
日本語
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/awslabs/stable-diffusion-aws-extension" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
</div>
<div class="md-source__repository">
awslabs/stable-diffusion-aws-extension
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item md-tabs__item--active">
<a href="../.." class="md-tabs__link">
Implementation Guide
</a>
</li>
</ul>
</div>
</nav>
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="Extension for Stable Diffusion on AWS" class="md-nav__button md-logo" aria-label="Extension for Stable Diffusion on AWS" data-md-component="logo">
<img src="https://s3.cn-north-1.amazonaws.com.cn/aws-assets-prod/libra-css/images/site/fav/favicon.ico" alt="logo">
</a>
Extension for Stable Diffusion on AWS
</label>
<div class="md-nav__source">
<a href="https://github.com/awslabs/stable-diffusion-aws-extension" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
</div>
<div class="md-source__repository">
awslabs/stable-diffusion-aws-extension
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" checked>
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="">
<span class="md-ellipsis">
Implementation Guide
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
Implementation Guide
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1_1" >
<label class="md-nav__link" for="__nav_1_1" id="__nav_1_1_label" tabindex="0">
<span class="md-ellipsis">
Solution Overview
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_1_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1_1">
<span class="md-nav__icon md-icon"></span>
Solution Overview
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../.." class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../solution-overview/features-and-benefits/" class="md-nav__link">
<span class="md-ellipsis">
Features and benefits
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../cost/" class="md-nav__link">
<span class="md-ellipsis">
Cost
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1_3" >
<label class="md-nav__link" for="__nav_1_3" id="__nav_1_3_label" tabindex="0">
<span class="md-ellipsis">
Architecture Overview
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_1_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1_3">
<span class="md-nav__icon md-icon"></span>
Architecture Overview
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../architecture-overview/architecture/" class="md-nav__link">
<span class="md-ellipsis">
Architecture diagram
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../architecture-overview/architecture-details/" class="md-nav__link">
<span class="md-ellipsis">
Architecture details
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1_4" >
<label class="md-nav__link" for="__nav_1_4" id="__nav_1_4_label" tabindex="0">
<span class="md-ellipsis">
Plan your deployment
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_1_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1_4">
<span class="md-nav__icon md-icon"></span>
Plan your deployment
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../plan-deployment/security/" class="md-nav__link">
<span class="md-ellipsis">
Security
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../plan-deployment/regions/" class="md-nav__link">
<span class="md-ellipsis">
Supported regions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../plan-deployment/quotas/" class="md-nav__link">
<span class="md-ellipsis">
Quotas
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1_5" checked>
<label class="md-nav__link" for="__nav_1_5" id="__nav_1_5_label" tabindex="0">
<span class="md-ellipsis">
Deploy the solution
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_1_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_1_5">
<span class="md-nav__icon md-icon"></span>
Deploy the solution
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../permissions/" class="md-nav__link">
<span class="md-ellipsis">
Permissions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../template/" class="md-nav__link">
<span class="md-ellipsis">
AWS CloudFormation template
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../deployment/" class="md-nav__link">
<span class="md-ellipsis">
Deploy for SD webUI
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Deploy for ComfyUI
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Deploy for ComfyUI
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#deployment-summary" class="md-nav__link">
<span class="md-ellipsis">
Deployment Summary
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#deployment-steps" class="md-nav__link">
<span class="md-ellipsis">
Deployment Steps
</span>
</a>
<nav class="md-nav" aria-label="Deployment Steps">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#step-1-deploy-the-middleware-of-the-solution" class="md-nav__link">
<span class="md-ellipsis">
Step 1: Deploy the middleware of the solution
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#step-2-deploy-comfyui-frontend" class="md-nav__link">
<span class="md-ellipsis">
Step 2: Deploy ComfyUI frontend
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../deployment_for_existing_users/" class="md-nav__link">
<span class="md-ellipsis">
Update SD webUI
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../uninstall/" class="md-nav__link">
<span class="md-ellipsis">
Uninstall the solution
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1_7" >
<label class="md-nav__link" for="__nav_1_7" id="__nav_1_7_label" tabindex="0">
<span class="md-ellipsis">
Use the solution
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_1_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1_7">
<span class="md-nav__icon md-icon"></span>
Use the solution
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../user-guide/training-guide/" class="md-nav__link">
<span class="md-ellipsis">
Kohya Training guide
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1_7_2" >
<label class="md-nav__link" for="__nav_1_7_2" id="__nav_1_7_2_label" tabindex="0">
<span class="md-ellipsis">
SD webUI guide
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_1_7_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1_7_2">
<span class="md-nav__icon md-icon"></span>
SD webUI guide
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../user-guide/webUI/multi-user/" class="md-nav__link">
<span class="md-ellipsis">
Configure API and Users Management
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/webUI/CloudAssetsManage/" class="md-nav__link">
<span class="md-ellipsis">
Cloud Assets Management
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/webUI/txt2img-guide/" class="md-nav__link">
<span class="md-ellipsis">
txt2img guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/webUI/img2img-guide/" class="md-nav__link">
<span class="md-ellipsis">
img2img guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/webUI/controlnet-guide/" class="md-nav__link">
<span class="md-ellipsis">
controlNet guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../user-guide/webUI/extensions-guide/" class="md-nav__link">
<span class="md-ellipsis">
Other Extensions guide
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../user-guide/ComfyUI/inference/" class="md-nav__link">
<span class="md-ellipsis">
ComfyUI guide
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1_8" >
<label class="md-nav__link" for="__nav_1_8" id="__nav_1_8_label" tabindex="0">
<span class="md-ellipsis">
Developer guide
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_1_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1_8">
<span class="md-nav__icon md-icon"></span>
Developer guide
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../developer-guide/source/" class="md-nav__link">
<span class="md-ellipsis">
Source code
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../developer-guide/access/" class="md-nav__link">
<span class="md-ellipsis">
API Access Restriction
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../developer-guide/api_upload_ckpt/" class="md-nav__link">
<span class="md-ellipsis">
API Upload Checkpoint Process
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../developer-guide/api_inference_process/" class="md-nav__link">
<span class="md-ellipsis">
API Inference Process
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../developer-guide/api_debugger/" class="md-nav__link">
<span class="md-ellipsis">
API Inference Debugger
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../developer-guide/api_authentication/" class="md-nav__link">
<span class="md-ellipsis">
API Authentication
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../developer-guide/api/" class="md-nav__link">
<span class="md-ellipsis">
API Details
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../developer-guide/byoc/" class="md-nav__link">
<span class="md-ellipsis">
Custom Container
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../troubleshooting/" class="md-nav__link">
<span class="md-ellipsis">
Troubleshooting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../revisions/" class="md-nav__link">
<span class="md-ellipsis">
Revisions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../notices/" class="md-nav__link">
<span class="md-ellipsis">
Notices
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#deployment-summary" class="md-nav__link">
<span class="md-ellipsis">
Deployment Summary
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#deployment-steps" class="md-nav__link">
<span class="md-ellipsis">
Deployment Steps
</span>
</a>
<nav class="md-nav" aria-label="Deployment Steps">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#step-1-deploy-the-middleware-of-the-solution" class="md-nav__link">
<span class="md-ellipsis">
Step 1: Deploy the middleware of the solution
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#step-2-deploy-comfyui-frontend" class="md-nav__link">
<span class="md-ellipsis">
Step 2: Deploy ComfyUI frontend
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1>Deploy for ComfyUI</h1>
<p>Before deploying the solution, it is recommended that you first review information in this guide regarding architecture diagrams and regional support. Then, follow the instructions below to configure the solution and deploy it to your account.</p>
<p>Deployment time: arount 20 minutes.</p>
<h2 id="deployment-summary">Deployment Summary</h2>
<p>Deploying this solution (ComfyUI portion) on Amazon Web Services primarily involves the following processes:</p>
<ul>
<li>Step 1: Deploy the middleware of the solution.</li>
<li>Step 2: Deploy ComfyUI frontend.</li>
</ul>
<p>After the successfully deployment, please refer to <a href="../../user-guide/ComfyUI/inference/">ComfyUI User Guide</a> for more details.</p>
<h2 id="deployment-steps">Deployment Steps</h2>
<h3 id="step-1-deploy-the-middleware-of-the-solution">Step 1: Deploy the middleware of the solution</h3>
<p>This automated Amazon CloudFormation template deploys the solution in Amazon Web Services.</p>
<ol>
<li>Sign in to the <a href="https://console.aws.amazon.com/">AWS Management Console</a>and use <a href="https://console.aws.amazon.com/cloudformation/home?#/stacks/create/template?stackName=stable-diffusion-aws&amp;templateURL=https://aws-gcr-solutions.s3.amazonaws.com/stable-diffusion-aws-extension-github-mainline/latest/custom-domain/Extension-for-Stable-Diffusion-on-AWS.template.json" target="_blank">Extension for Stable Diffusion on AWS</a> to create the stack.</li>
<li>By default, this template will launch in the default region after you log in to the console. To launch this solution in a specified Amazon Web Services region, please select the desired region from the region drop-down list in the console's navigation bar.</li>
<li>In the <strong>Create Stack</strong> pageconfirm that the correct template URL has been entered in the <strong>Amazon S3 URL</strong> text box, then select <strong>Next</strong>.</li>
<li>
<p>In the <strong>Specify stack details</strong> page, assign a unique name within your account that meets the naming requirements for your solution stack. Refer to the table below for deployment parameters. Click <strong>Next</strong>.</p>
<table>
<thead>
<tr>
<th style="text-align: left;">Parameter</th>
<th style="text-align: left;">Description</th>
<th style="text-align: left;">Recommendation</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">APIEndpointType</td>
<td style="text-align: left;">For API calls, define the category of the API. The options are REGIONAL, PRIVATE, EDGE</td>
<td style="text-align: left;">Regional by default</td>
</tr>
<tr>
<td style="text-align: left;">Bucket</td>
<td style="text-align: left;">Enter a valid new S3 bucket name (or the name of a previously deployed S3 bucket used for the ComfyUI section of this solution)</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">email</td>
<td style="text-align: left;">Enter a valid email address for further notification receivement</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">SdExtensionApiKey</td>
<td style="text-align: left;">Please enter a 20-character string that includes a combination of numbers and letters</td>
<td style="text-align: left;">"09876543210987654321" by default</td>
</tr>
<tr>
<td style="text-align: left;">LogLevel</td>
<td style="text-align: left;">Please select a desired Lambda Log leval</td>
<td style="text-align: left;">Only ERROR logs will be printed by default</td>
</tr>
</tbody>
</table>
</li>
<li>
<p>In the <strong>Configure stack options</strong> page, select <strong>Next</strong>. </p>
</li>
<li>In the <strong>Review</strong> page, review and confirm the settings. Ensure that the checkbox for confirming that the template will create Amazon Identity and Access Management (IAM) resources is selected. Also, make sure to select the checkboxes for any other AWS CloudFormation-required features. Choose <strong>Submit</strong> to deploy the stack.</li>
<li>
<p>You can check the <strong>status</strong> of the stack in the Status column of the AWS CloudFormation console. You should receive a <strong>CREATE_COMPLETE</strong> status within approximately 15 minutes.</p>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>Please check your reserved email inbox promptly and click the "Confirm subscription" hyperlink in the email with the subject "AWS Notification - Subscription Confirmation" to complete the subscription as instructed.</p>
</div>
</li>
</ol>
<h3 id="step-2-deploy-comfyui-frontend">Step 2: Deploy ComfyUI frontend</h3>
<p>This step will install the ComfyUI frontend for the customer. This frontend automatically includes Chinese language plugins and buttons for publishing workflows to the cloud, providing a more user-friendly UI interaction. This automated Amazon CloudFormation template is deployed within Amazon Web Services (AWS).</p>
<ol>
<li>Sign in to the <a href="https://console.aws.amazon.com/">AWS Management Console</a>, click <strong>Create Stack</strong> in the upper right, <strong>With new resource(standard)</strong> to launch the AWS CloudFormation template.</li>
<li>In the page of <strong>Create Stack</strong>, select <strong>Choose an existing template</strong><strong>Specify template</strong> field <strong>Amazon S3 URLe</strong>, enter <a href="https://aws-gcr-solutions.s3.amazonaws.com/extension-for-stable-diffusion-on-aws/comfy.yaml">Amazon S3 URL</a>and click <strong>Next</strong></li>
<li>
<p>In the page of <strong>Specify stack details</strong>assign a unique and name-compliant name for your solution stack within your account. In the Parameters section, the deployment parameter descriptions are as follows. Click <strong>Next</strong></p>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>The EC2 Key Pair here is primarily used for remote connections to EC2 instances from your local machine. If you dont have an existing one, you can refer to <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html" target="_blank">Create Key Pairs</a>.</p>
</div>
<table>
<thead>
<tr>
<th style="text-align: left;">Parameter</th>
<th style="text-align: left;">Description</th>
<th style="text-align: left;">Recommendation</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">InstanceType</td>
<td style="text-align: left;">Instance type of EC2</td>
<td style="text-align: left;">For tasks involving inference animations, videos, etc., it is recommended to use G6 or G5 instances</td>
</tr>
<tr>
<td style="text-align: left;">NumberOfInferencePorts</td>
<td style="text-align: left;">Number of inference interface</td>
<td style="text-align: left;">It is recommended not to exceed 5</td>
</tr>
<tr>
<td style="text-align: left;">StackName</td>
<td style="text-align: left;">Stack Name from the successfully deployed stack in Step 1 of the deployment process</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">keyPairName</td>
<td style="text-align: left;">Select a desired existing EC2 Key Pair</td>
<td style="text-align: left;"></td>
</tr>
</tbody>
</table>
</li>
<li>
<p>In the page of <strong>Configure stack options</strong>, select <strong>Next</strong></p>
</li>
<li>In the <strong>Review</strong> page, review and confirm the settings. Ensure that the checkbox for confirming that the template will create Amazon Identity and Access Management (IAM) resources is selected. Also, make sure to select the checkboxes for any other AWS CloudFormation-required features. Choose <strong>Submit</strong> to deploy the stack.</li>
<li>You can check the <strong>status</strong> of the stack in the Status column of the AWS CloudFormation console. You should receive a <strong>CREATE_COMPLETE</strong> status within approximately 3 minutes.</li>
<li>
<p>Select the successfully deployed stack, open <strong>Outputs</strong>, and click the link corresponding to <strong>Designer</strong> to open the ComfyUI front-end of the solution deployment. Access to Designer may require disabling the VPN or removing port 10000. <strong>NumberOfInferencePortsStart</strong> represents the starting port for the inference environment address, and the port addresses increase sequentially according to the deployment quantity. For example, when NumberOfInferencePorts is set to 2, the address range and the accessible inference environment addresses are sequentially as follows:"http://EC2地址:10001http://EC2地址:10002.</p>
<table>
<thead>
<tr>
<th style="text-align: left;">Role</th>
<th style="text-align: left;">Functions</th>
<th style="text-align: left;">Ports</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">Senior Artist/ Staff of workflow management</td>
<td style="text-align: left;">Able to install new custom nodes, debug workflows on EC2, and deploy workflows and environments to Amazon SageMaker. You can also call SageMaker resources and select published workflows for inference validation</td>
<td style="text-align: left;">http://EC2 Address</td>
</tr>
<tr>
<td style="text-align: left;">Junior Artists</td>
<td style="text-align: left;">From the interface accessed through this port, you can select the workflows published by the Art Director, simply modify the inference parameters, check 'Prompt on AWS', and then call Amazon SageMaker for inference. When NumberOfInferencePorts is set to 3, the address range and accessible inference environment addresses are sequentially as follows:"<ul><li>http://EC2Address:10001 </li><li>http://EC2Address:10002 </li><li>http://EC2Address:10003</li></ul></td>
<td style="text-align: left;"></td>
</tr>
</tbody>
</table>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>After the initial deployment, you need to wait for a while. If you open the link and see the message 'Comfy is Initializing or Starting,' it means that the backend is in the process of initializing ComfyUI. Please wait a bit and then refresh the page to confirm.</p>
</div>
</li>
</ol>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tabs"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": "develop"}</script>
<script src="../../assets/javascripts/bundle.fe8b6f2b.min.js"></script>
</body>
</html>