[{"data":1,"prerenderedAt":1122},["Reactive",2],{"navigation":3,"/getting-started/postal-command":118,"/getting-started/postal-command-surround":1119},[4,14,43,83,99],{"title":5,"_path":6,"children":7},"Welcome","/welcome",[8,11],{"title":9,"_path":10},"Feature List","/welcome/feature-list",{"title":12,"_path":13},"FAQs","/welcome/faqs",{"title":15,"_path":16,"children":17},"Getting Started","/getting-started",[18,19,22,25,28,31,34,37,40],{"title":15,"_path":16},{"title":20,"_path":21},"Pre-requisites","/getting-started/prerequisites",{"title":23,"_path":24},"Installation","/getting-started/installation",{"title":26,"_path":27},"Upgrading","/getting-started/upgrading",{"title":29,"_path":30},"Configuration","/getting-started/configuration",{"title":32,"_path":33},"DNS configuration","/getting-started/dns-configuration",{"title":35,"_path":36},"Upgrading to v3","/getting-started/upgrade-to-v3",{"title":38,"_path":39},"Upgrading to v2","/getting-started/upgrade-to-v2",{"title":41,"_path":42},"The postal command","/getting-started/postal-command",{"title":44,"_path":45,"children":46},"Features","/features",[47,50,53,56,59,62,65,68,71,74,77,80],{"title":48,"_path":49},"Click & Open Tracking","/features/click-and-open-tracking",{"title":51,"_path":52},"Health & Metrics","/features/health-metrics",{"title":54,"_path":55},"IP Pools","/features/ip-pools",{"title":57,"_path":58},"Logging","/features/logging",{"title":60,"_path":61},"Mail Server Settings","/features/mail-server-settings",{"title":63,"_path":64},"OpenID Connect","/features/oidc",{"title":66,"_path":67},"Routing Incoming E-Mail","/features/routing-incoming-email",{"title":69,"_path":70},"Sending Domains","/features/sending-domains",{"title":72,"_path":73},"SMTP Authentication","/features/smtp-authentication",{"title":75,"_path":76},"SMTP TLS","/features/smtp-tls",{"title":78,"_path":79},"Spam & Virus Checking","/features/spam-and-virus-checking",{"title":81,"_path":82},"Users & Permissions","/features/users-and-permissions",{"title":84,"_path":85,"children":86},"Developer","/developer",[87,90,93,96],{"title":88,"_path":89},"Using the API","/developer/api",{"title":91,"_path":92},"Client Libraries","/developer/client-libraries",{"title":94,"_path":95},"Receiving e-mail by HTTP","/developer/http-payloads",{"title":97,"_path":98},"Webhooks","/developer/webhooks",{"title":100,"_path":101,"children":102},"Other Notes","/other",[103,106,109,112,115],{"title":104,"_path":105},"Auto-Responders & Bounces","/other/auto-responders-and-bounces",{"title":107,"_path":108},"Our container image","/other/containers",{"title":110,"_path":111},"Debugging","/other/debugging",{"title":113,"_path":114},"Wildcards & Address Tags","/other/wildcards-and-address-tags",{"title":116,"_path":117},"Workers & Background Tasks","/other/workers-and-background-tasks",{"_path":42,"_dir":119,"_draft":120,"_partial":120,"_locale":121,"title":41,"description":122,"category":23,"body":123,"_type":1114,"_id":1115,"_source":1116,"_file":1117,"_extension":1118},"getting-started",false,"","Reference for the postal helper command installed from the postalserver/install repository.",{"type":124,"children":125,"toc":1104},"root",[126,177,250,257,259,488,494,496,674,680,701,702,821,827,829,921,942,948,955,991,1065,1071,1098],{"type":127,"tag":128,"props":129,"children":130},"element","p",{},[131,134,141,143,152,154,159,161,167,169,175],{"type":132,"value":133},"text","The ",{"type":127,"tag":135,"props":136,"children":138},"code",{"className":137},[],[139],{"type":132,"value":140},"postal",{"type":132,"value":142}," command used throughout these docs is a small Bash script from the ",{"type":127,"tag":144,"props":145,"children":149},"a",{"href":146,"rel":147},"https://github.com/postalserver/install",[148],"nofollow",[150],{"type":132,"value":151},"installation helper repository",{"type":132,"value":153},", which the ",{"type":127,"tag":144,"props":155,"children":156},{"href":21},[157],{"type":132,"value":158},"pre-requisites",{"type":132,"value":160}," page has you clone to ",{"type":127,"tag":135,"props":162,"children":164},{"className":163},[],[165],{"type":132,"value":166},"/opt/postal/install",{"type":132,"value":168}," and symlink to ",{"type":127,"tag":135,"props":170,"children":172},{"className":171},[],[173],{"type":132,"value":174},"/usr/bin/postal",{"type":132,"value":176},". It wraps Docker Compose so that you don't need to remember the container commands.",{"type":127,"tag":128,"props":178,"children":179},{},[180,182,188,190,195,197,203,205,211,213,219,221,226,228,234,235,241,242,248],{"type":132,"value":181},"All commands operate on a ",{"type":127,"tag":135,"props":183,"children":185},{"className":184},[],[186],{"type":132,"value":187},"docker-compose.yml",{"type":132,"value":189}," in ",{"type":127,"tag":135,"props":191,"children":193},{"className":192},[],[194],{"type":132,"value":166},{"type":132,"value":196},", which is generated for you from a template (",{"type":127,"tag":135,"props":198,"children":200},{"className":199},[],[201],{"type":132,"value":202},"templates/docker-compose.v3.yml",{"type":132,"value":204},") the first time you run ",{"type":127,"tag":135,"props":206,"children":208},{"className":207},[],[209],{"type":132,"value":210},"bootstrap",{"type":132,"value":212},", ",{"type":127,"tag":135,"props":214,"children":216},{"className":215},[],[217],{"type":132,"value":218},"upgrade",{"type":132,"value":220}," or any command that needs it. Docker Compose is run with the project name ",{"type":127,"tag":135,"props":222,"children":224},{"className":223},[],[225],{"type":132,"value":140},{"type":132,"value":227},", so the containers are named ",{"type":127,"tag":135,"props":229,"children":231},{"className":230},[],[232],{"type":132,"value":233},"postal-web-1",{"type":132,"value":212},{"type":127,"tag":135,"props":236,"children":238},{"className":237},[],[239],{"type":132,"value":240},"postal-smtp-1",{"type":132,"value":212},{"type":127,"tag":135,"props":243,"children":245},{"className":244},[],[246],{"type":132,"value":247},"postal-worker-1",{"type":132,"value":249}," and so on.",{"type":127,"tag":251,"props":252,"children":254},"h2",{"id":253},"running-postal",[255],{"type":132,"value":256},"Running Postal",{"type":132,"value":258},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":127,"tag":260,"props":261,"children":262},"table",{},[263,282],{"type":127,"tag":264,"props":265,"children":266},"thead",{},[267],{"type":127,"tag":268,"props":269,"children":270},"tr",{},[271,277],{"type":127,"tag":272,"props":273,"children":274},"th",{},[275],{"type":132,"value":276},"Command",{"type":127,"tag":272,"props":278,"children":279},{},[280],{"type":132,"value":281},"Description",{"type":127,"tag":283,"props":284,"children":285},"tbody",{},[286,320,345,369,393,439,456],{"type":127,"tag":268,"props":287,"children":288},{},[289,299],{"type":127,"tag":290,"props":291,"children":292},"td",{},[293],{"type":127,"tag":135,"props":294,"children":296},{"className":295},[],[297],{"type":132,"value":298},"postal start",{"type":127,"tag":290,"props":300,"children":301},{},[302,304,310,312,318],{"type":132,"value":303},"Start all services in the background (",{"type":127,"tag":135,"props":305,"children":307},{"className":306},[],[308],{"type":132,"value":309},"docker compose up -d",{"type":132,"value":311},"). Extra arguments are passed through, e.g. ",{"type":127,"tag":135,"props":313,"children":315},{"className":314},[],[316],{"type":132,"value":317},"postal start web",{"type":132,"value":319},".",{"type":127,"tag":268,"props":321,"children":322},{},[323,332],{"type":127,"tag":290,"props":324,"children":325},{},[326],{"type":127,"tag":135,"props":327,"children":329},{"className":328},[],[330],{"type":132,"value":331},"postal stop",{"type":127,"tag":290,"props":333,"children":334},{},[335,337,343],{"type":132,"value":336},"Stop and remove the containers (",{"type":127,"tag":135,"props":338,"children":340},{"className":339},[],[341],{"type":132,"value":342},"docker compose down",{"type":132,"value":344},").",{"type":127,"tag":268,"props":346,"children":347},{},[348,357],{"type":127,"tag":290,"props":349,"children":350},{},[351],{"type":127,"tag":135,"props":352,"children":354},{"className":353},[],[355],{"type":132,"value":356},"postal restart",{"type":127,"tag":290,"props":358,"children":359},{},[360,362,368],{"type":132,"value":361},"Restart all containers. Required after changing ",{"type":127,"tag":135,"props":363,"children":365},{"className":364},[],[366],{"type":132,"value":367},"postal.yml",{"type":132,"value":319},{"type":127,"tag":268,"props":370,"children":371},{},[372,381],{"type":127,"tag":290,"props":373,"children":374},{},[375],{"type":127,"tag":135,"props":376,"children":378},{"className":377},[],[379],{"type":132,"value":380},"postal status",{"type":127,"tag":290,"props":382,"children":383},{},[384,386,392],{"type":132,"value":385},"Show the running containers (",{"type":127,"tag":135,"props":387,"children":389},{"className":388},[],[390],{"type":132,"value":391},"docker compose ps",{"type":132,"value":344},{"type":127,"tag":268,"props":394,"children":395},{},[396,405],{"type":127,"tag":290,"props":397,"children":398},{},[399],{"type":127,"tag":135,"props":400,"children":402},{"className":401},[],[403],{"type":132,"value":404},"postal logs [service]",{"type":127,"tag":290,"props":406,"children":407},{},[408,410,416,417,423,424,430,432,438],{"type":132,"value":409},"Show logs for all services or one of ",{"type":127,"tag":135,"props":411,"children":413},{"className":412},[],[414],{"type":132,"value":415},"web",{"type":132,"value":212},{"type":127,"tag":135,"props":418,"children":420},{"className":419},[],[421],{"type":132,"value":422},"smtp",{"type":132,"value":212},{"type":127,"tag":135,"props":425,"children":427},{"className":426},[],[428],{"type":132,"value":429},"worker",{"type":132,"value":431},". Extra arguments are passed through, e.g. ",{"type":127,"tag":135,"props":433,"children":435},{"className":434},[],[436],{"type":132,"value":437},"postal logs -f worker",{"type":132,"value":319},{"type":127,"tag":268,"props":440,"children":441},{},[442,451],{"type":127,"tag":290,"props":443,"children":444},{},[445],{"type":127,"tag":135,"props":446,"children":448},{"className":447},[],[449],{"type":132,"value":450},"postal bash [service]",{"type":127,"tag":290,"props":452,"children":453},{},[454],{"type":132,"value":455},"Open a shell inside a running service container.",{"type":127,"tag":268,"props":457,"children":458},{},[459,468],{"type":127,"tag":290,"props":460,"children":461},{},[462],{"type":127,"tag":135,"props":463,"children":465},{"className":464},[],[466],{"type":132,"value":467},"postal dc [args]",{"type":127,"tag":290,"props":469,"children":470},{},[471,473,479,481,487],{"type":132,"value":472},"Run any other ",{"type":127,"tag":135,"props":474,"children":476},{"className":475},[],[477],{"type":132,"value":478},"docker compose",{"type":132,"value":480}," command against the Postal project, e.g. ",{"type":127,"tag":135,"props":482,"children":484},{"className":483},[],[485],{"type":132,"value":486},"postal dc pull",{"type":132,"value":319},{"type":127,"tag":251,"props":489,"children":491},{"id":490},"setup-and-upgrade",[492],{"type":132,"value":493},"Setup and upgrade",{"type":132,"value":495},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":127,"tag":260,"props":497,"children":498},{},[499,513],{"type":127,"tag":264,"props":500,"children":501},{},[502],{"type":127,"tag":268,"props":503,"children":504},{},[505,509],{"type":127,"tag":272,"props":506,"children":507},{},[508],{"type":132,"value":276},{"type":127,"tag":272,"props":510,"children":511},{},[512],{"type":132,"value":281},{"type":127,"tag":283,"props":514,"children":515},{},[516,587,611,633,650],{"type":127,"tag":268,"props":517,"children":518},{},[519,528],{"type":127,"tag":290,"props":520,"children":521},{},[522],{"type":127,"tag":135,"props":523,"children":525},{"className":524},[],[526],{"type":132,"value":527},"postal bootstrap hostname [path]",{"type":127,"tag":290,"props":529,"children":530},{},[531,533,539,541,547,549,554,556,562,564,570,572,578,580,585],{"type":132,"value":532},"Create initial configuration in ",{"type":127,"tag":135,"props":534,"children":536},{"className":535},[],[537],{"type":132,"value":538},"path",{"type":132,"value":540}," (default ",{"type":127,"tag":135,"props":542,"children":544},{"className":543},[],[545],{"type":132,"value":546},"/opt/postal/config",{"type":132,"value":548},"): ",{"type":127,"tag":135,"props":550,"children":552},{"className":551},[],[553],{"type":132,"value":367},{"type":132,"value":555}," from the example file with your hostname and a random ",{"type":127,"tag":135,"props":557,"children":559},{"className":558},[],[560],{"type":132,"value":561},"rails.secret_key",{"type":132,"value":563}," filled in, a ",{"type":127,"tag":135,"props":565,"children":567},{"className":566},[],[568],{"type":132,"value":569},"Caddyfile",{"type":132,"value":571},", and a 1024-bit RSA ",{"type":127,"tag":135,"props":573,"children":575},{"className":574},[],[576],{"type":132,"value":577},"signing.key",{"type":132,"value":579},". Existing files are never overwritten. Also generates ",{"type":127,"tag":135,"props":581,"children":583},{"className":582},[],[584],{"type":132,"value":187},{"type":132,"value":586}," for the latest release.",{"type":127,"tag":268,"props":588,"children":589},{},[590,599],{"type":127,"tag":290,"props":591,"children":592},{},[593],{"type":127,"tag":135,"props":594,"children":596},{"className":595},[],[597],{"type":132,"value":598},"postal initialize",{"type":127,"tag":290,"props":600,"children":601},{},[602,604,609],{"type":132,"value":603},"Pull the image and run ",{"type":127,"tag":135,"props":605,"children":607},{"className":606},[],[608],{"type":132,"value":598},{"type":132,"value":610}," inside a temporary container to create the main database and load the schema.",{"type":127,"tag":268,"props":612,"children":613},{},[614,623],{"type":127,"tag":290,"props":615,"children":616},{},[617],{"type":127,"tag":135,"props":618,"children":620},{"className":619},[],[621],{"type":132,"value":622},"postal upgrade [version]",{"type":127,"tag":290,"props":624,"children":625},{},[626,628,632],{"type":132,"value":627},"Upgrade to the given version (or the latest release). See ",{"type":127,"tag":144,"props":629,"children":630},{"href":27},[631],{"type":132,"value":26},{"type":132,"value":319},{"type":127,"tag":268,"props":634,"children":635},{},[636,645],{"type":127,"tag":290,"props":637,"children":638},{},[639],{"type":127,"tag":135,"props":640,"children":642},{"className":641},[],[643],{"type":132,"value":644},"postal upgrade-db",{"type":127,"tag":290,"props":646,"children":647},{},[648],{"type":132,"value":649},"Run database migrations only, without pulling a new image or restarting. Useful after restoring a database from another installation.",{"type":127,"tag":268,"props":651,"children":652},{},[653,662],{"type":127,"tag":290,"props":654,"children":655},{},[656],{"type":127,"tag":135,"props":657,"children":659},{"className":658},[],[660],{"type":132,"value":661},"postal set-version x.x.x",{"type":127,"tag":290,"props":663,"children":664},{},[665,667,672],{"type":132,"value":666},"Regenerate ",{"type":127,"tag":135,"props":668,"children":670},{"className":669},[],[671],{"type":132,"value":187},{"type":132,"value":673}," for a specific version without pulling or restarting anything.",{"type":127,"tag":251,"props":675,"children":677},{"id":676},"other-tools",[678],{"type":132,"value":679},"Other tools",{"type":127,"tag":128,"props":681,"children":682},{},[683,685,691,693,699],{"type":132,"value":684},"These run the corresponding command from the ",{"type":127,"tag":144,"props":686,"children":688},{"href":687},"/other/containers#other-commands",[689],{"type":132,"value":690},"container image",{"type":132,"value":692}," in a temporary ",{"type":127,"tag":135,"props":694,"children":696},{"className":695},[],[697],{"type":132,"value":698},"runner",{"type":132,"value":700}," container.",{"type":132,"value":495},{"type":127,"tag":260,"props":703,"children":704},{},[705,719],{"type":127,"tag":264,"props":706,"children":707},{},[708],{"type":127,"tag":268,"props":709,"children":710},{},[711,715],{"type":127,"tag":272,"props":712,"children":713},{},[714],{"type":132,"value":276},{"type":127,"tag":272,"props":716,"children":717},{},[718],{"type":132,"value":281},{"type":127,"tag":283,"props":720,"children":721},{},[722,739,763,787,804],{"type":127,"tag":268,"props":723,"children":724},{},[725,734],{"type":127,"tag":290,"props":726,"children":727},{},[728],{"type":127,"tag":135,"props":729,"children":731},{"className":730},[],[732],{"type":132,"value":733},"postal make-user",{"type":127,"tag":290,"props":735,"children":736},{},[737],{"type":132,"value":738},"Interactively create a global administrator user (prompts for e-mail address, first name, last name and password).",{"type":127,"tag":268,"props":740,"children":741},{},[742,751],{"type":127,"tag":290,"props":743,"children":744},{},[745],{"type":127,"tag":135,"props":746,"children":748},{"className":747},[],[749],{"type":132,"value":750},"postal default-dkim-record",{"type":127,"tag":290,"props":752,"children":753},{},[754,756,762],{"type":132,"value":755},"Print the DKIM TXT record to publish at ",{"type":127,"tag":135,"props":757,"children":759},{"className":758},[],[760],{"type":132,"value":761},"postal._domainkey.{return path domain}",{"type":132,"value":319},{"type":127,"tag":268,"props":764,"children":765},{},[766,775],{"type":127,"tag":290,"props":767,"children":768},{},[769],{"type":127,"tag":135,"props":770,"children":772},{"className":771},[],[773],{"type":132,"value":774},"postal test-app-smtp address",{"type":127,"tag":290,"props":776,"children":777},{},[778,780,785],{"type":132,"value":779},"Send a test e-mail using the ",{"type":127,"tag":135,"props":781,"children":783},{"className":782},[],[784],{"type":132,"value":422},{"type":132,"value":786}," section of your configuration.",{"type":127,"tag":268,"props":788,"children":789},{},[790,799],{"type":127,"tag":290,"props":791,"children":792},{},[793],{"type":127,"tag":135,"props":794,"children":796},{"className":795},[],[797],{"type":132,"value":798},"postal console",{"type":127,"tag":290,"props":800,"children":801},{},[802],{"type":132,"value":803},"Open a Rails console against your installation.",{"type":127,"tag":268,"props":805,"children":806},{},[807,816],{"type":127,"tag":290,"props":808,"children":809},{},[810],{"type":127,"tag":135,"props":811,"children":813},{"className":812},[],[814],{"type":132,"value":815},"postal version",{"type":127,"tag":290,"props":817,"children":818},{},[819],{"type":132,"value":820},"Print the version of Postal in the configured image.",{"type":127,"tag":251,"props":822,"children":824},{"id":823},"options",[825],{"type":132,"value":826},"Options",{"type":132,"value":828},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":127,"tag":260,"props":830,"children":831},{},[832,847],{"type":127,"tag":264,"props":833,"children":834},{},[835],{"type":127,"tag":268,"props":836,"children":837},{},[838,843],{"type":127,"tag":272,"props":839,"children":840},{},[841],{"type":132,"value":842},"Option",{"type":127,"tag":272,"props":844,"children":845},{},[846],{"type":132,"value":281},{"type":127,"tag":283,"props":848,"children":849},{},[850,881,904],{"type":127,"tag":268,"props":851,"children":852},{},[853,862],{"type":127,"tag":290,"props":854,"children":855},{},[856],{"type":127,"tag":135,"props":857,"children":859},{"className":858},[],[860],{"type":132,"value":861},"--version x.x.x",{"type":127,"tag":290,"props":863,"children":864},{},[865,867,872,874,879],{"type":132,"value":866},"With ",{"type":127,"tag":135,"props":868,"children":870},{"className":869},[],[871],{"type":132,"value":210},{"type":132,"value":873}," or ",{"type":127,"tag":135,"props":875,"children":877},{"className":876},[],[878],{"type":132,"value":218},{"type":132,"value":880},", use this version instead of looking up the latest release on GitHub.",{"type":127,"tag":268,"props":882,"children":883},{},[884,893],{"type":127,"tag":290,"props":885,"children":886},{},[887],{"type":127,"tag":135,"props":888,"children":890},{"className":889},[],[891],{"type":132,"value":892},"--no-git-pull",{"type":127,"tag":290,"props":894,"children":895},{},[896,897,902],{"type":132,"value":866},{"type":127,"tag":135,"props":898,"children":900},{"className":899},[],[901],{"type":132,"value":218},{"type":132,"value":903},", skip updating the helper repository first.",{"type":127,"tag":268,"props":905,"children":906},{},[907,916],{"type":127,"tag":290,"props":908,"children":909},{},[910],{"type":127,"tag":135,"props":911,"children":913},{"className":912},[],[914],{"type":132,"value":915},"--dev",{"type":127,"tag":290,"props":917,"children":918},{},[919],{"type":132,"value":920},"Print the commands that would be run instead of running them.",{"type":127,"tag":128,"props":922,"children":923},{},[924,926,932,934,940],{"type":132,"value":925},"Looking up the latest release requires ",{"type":127,"tag":135,"props":927,"children":929},{"className":928},[],[930],{"type":132,"value":931},"curl",{"type":132,"value":933}," and ",{"type":127,"tag":135,"props":935,"children":937},{"className":936},[],[938],{"type":132,"value":939},"jq",{"type":132,"value":941}," and makes an unauthenticated request to the GitHub API, which is rate limited. If you hit the limit, pass an explicit version.",{"type":127,"tag":251,"props":943,"children":945},{"id":944},"customising-the-installation",[946],{"type":132,"value":947},"Customising the installation",{"type":127,"tag":949,"props":950,"children":952},"h3",{"id":951},"number-of-workers",[953],{"type":132,"value":954},"Number of workers",{"type":127,"tag":128,"props":956,"children":957},{},[958,960,966,968,973,975,981,983,989],{"type":132,"value":959},"To run more than one worker container, add a ",{"type":127,"tag":135,"props":961,"children":963},{"className":962},[],[964],{"type":132,"value":965},"docker-compose.override.yml",{"type":132,"value":967}," (see below) that sets the number of replicas for the ",{"type":127,"tag":135,"props":969,"children":971},{"className":970},[],[972],{"type":132,"value":429},{"type":132,"value":974}," service. This survives upgrades, whereas ",{"type":127,"tag":135,"props":976,"children":978},{"className":977},[],[979],{"type":132,"value":980},"postal start --scale worker=3",{"type":132,"value":982}," is reset to one worker the next time ",{"type":127,"tag":135,"props":984,"children":986},{"className":985},[],[987],{"type":132,"value":988},"postal upgrade",{"type":132,"value":990}," runs.",{"type":127,"tag":992,"props":993,"children":997},"pre",{"className":994,"code":995,"language":996,"meta":121,"style":121},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","services:\n  worker:\n    deploy:\n      replicas: 3\n","yaml",[998],{"type":127,"tag":135,"props":999,"children":1000},{"__ignoreMap":121},[1001,1019,1032,1045],{"type":127,"tag":1002,"props":1003,"children":1006},"span",{"class":1004,"line":1005},"line",1,[1007,1013],{"type":127,"tag":1002,"props":1008,"children":1010},{"style":1009},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[1011],{"type":132,"value":1012},"services",{"type":127,"tag":1002,"props":1014,"children":1016},{"style":1015},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[1017],{"type":132,"value":1018},":\n",{"type":127,"tag":1002,"props":1020,"children":1022},{"class":1004,"line":1021},2,[1023,1028],{"type":127,"tag":1002,"props":1024,"children":1025},{"style":1009},[1026],{"type":132,"value":1027},"  worker",{"type":127,"tag":1002,"props":1029,"children":1030},{"style":1015},[1031],{"type":132,"value":1018},{"type":127,"tag":1002,"props":1033,"children":1035},{"class":1004,"line":1034},3,[1036,1041],{"type":127,"tag":1002,"props":1037,"children":1038},{"style":1009},[1039],{"type":132,"value":1040},"    deploy",{"type":127,"tag":1002,"props":1042,"children":1043},{"style":1015},[1044],{"type":132,"value":1018},{"type":127,"tag":1002,"props":1046,"children":1048},{"class":1004,"line":1047},4,[1049,1054,1059],{"type":127,"tag":1002,"props":1050,"children":1051},{"style":1009},[1052],{"type":132,"value":1053},"      replicas",{"type":127,"tag":1002,"props":1055,"children":1056},{"style":1015},[1057],{"type":132,"value":1058},":",{"type":127,"tag":1002,"props":1060,"children":1062},{"style":1061},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1063],{"type":132,"value":1064}," 3\n",{"type":127,"tag":949,"props":1066,"children":1068},{"id":1067},"overriding-the-compose-file",[1069],{"type":132,"value":1070},"Overriding the compose file",{"type":127,"tag":128,"props":1072,"children":1073},{},[1074,1076,1081,1083,1089,1091,1096],{"type":132,"value":1075},"Docker Compose automatically merges ",{"type":127,"tag":135,"props":1077,"children":1079},{"className":1078},[],[1080],{"type":132,"value":965},{"type":132,"value":1082}," from the same directory. Use this for changes such as ",{"type":127,"tag":144,"props":1084,"children":1086},{"href":1085},"/features/logging#redirecting-logs-to-the-host-syslog",[1087],{"type":132,"value":1088},"log drivers",{"type":132,"value":1090},", extra environment variables or resource limits, so that they survive upgrades (the generated ",{"type":127,"tag":135,"props":1092,"children":1094},{"className":1093},[],[1095],{"type":132,"value":187},{"type":132,"value":1097}," is replaced on every upgrade).",{"type":127,"tag":1099,"props":1100,"children":1101},"style",{},[1102],{"type":132,"value":1103},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":121,"searchDepth":1021,"depth":1021,"links":1105},[1106,1107,1108,1109,1110],{"id":253,"depth":1021,"text":256},{"id":490,"depth":1021,"text":493},{"id":676,"depth":1021,"text":679},{"id":823,"depth":1021,"text":826},{"id":944,"depth":1021,"text":947,"children":1111},[1112,1113],{"id":951,"depth":1034,"text":954},{"id":1067,"depth":1034,"text":1070},"markdown","content:2.getting-started:8.postal-command.md","content","2.getting-started/8.postal-command.md","md",[1120,1121],{"_path":39,"title":38,"description":121},{"_path":49,"title":48,"description":121},1789749432080]