[{"data":1,"prerenderedAt":330},["ShallowReactive",2],{"navigation_docs":3,"-get-started-introduction":144,"-get-started-introduction-surround":327},[4,35,84,109,124,134,139],{"title":5,"path":6,"stem":7,"children":8,"page":34},"Get Started","\u002Fget-started","1.get-started",[9,14,19,24,29],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fget-started\u002Fintroduction","1.get-started\u002F1.introduction","i-lucide-house",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fget-started\u002Finstallation","1.get-started\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick start","\u002Fget-started\u002Fquickstart","1.get-started\u002F3.quickstart","i-lucide-rocket",{"title":25,"path":26,"stem":27,"icon":28},"Project structure","\u002Fget-started\u002Fproject-structure","1.get-started\u002F4.project-structure","i-lucide-folder-tree",{"title":30,"path":31,"stem":32,"icon":33},"Dashboard","\u002Fget-started\u002Fdashboard","1.get-started\u002F5.dashboard","i-lucide-layout-dashboard",false,{"title":36,"path":37,"stem":38,"children":39,"page":34},"Concepts","\u002Fconcepts","2.concepts",[40,45,50,55,60,65,69,74,79],{"title":41,"path":42,"stem":43,"icon":44},"Architecture","\u002Fconcepts\u002Farchitecture","2.concepts\u002F1.architecture","i-lucide-layers",{"title":46,"path":47,"stem":48,"icon":49},"Machines","\u002Fconcepts\u002Fmachines","2.concepts\u002F2.machines","i-lucide-server",{"title":51,"path":52,"stem":53,"icon":54},"Colony & users","\u002Fconcepts\u002Fcolony","2.concepts\u002F3.colony","i-lucide-users",{"title":56,"path":57,"stem":58,"icon":59},"Transport","\u002Fconcepts\u002Ftransport","2.concepts\u002F4.transport","i-lucide-network",{"title":61,"path":62,"stem":63,"icon":64},"Configuration","\u002Fconcepts\u002Fconfiguration","2.concepts\u002F5.configuration","i-lucide-settings",{"title":66,"path":67,"stem":68,"icon":23},"Deploy","\u002Fconcepts\u002Fdeploy","2.concepts\u002F6.deploy",{"title":70,"path":71,"stem":72,"icon":73},"Groups","\u002Fconcepts\u002Fgroups","2.concepts\u002F7.groups","i-lucide-boxes",{"title":75,"path":76,"stem":77,"icon":78},"Templates","\u002Fconcepts\u002Ftemplates","2.concepts\u002F8.templates","i-lucide-package-plus",{"title":80,"path":81,"stem":82,"icon":83},"Existing projects","\u002Fconcepts\u002Fexisting-projects","2.concepts\u002F9.existing-projects","i-lucide-folder-open",{"title":85,"path":86,"stem":87,"children":88,"page":34},"Remote","\u002Fremote","3.remote",[89,94,99,104],{"title":90,"path":91,"stem":92,"icon":93},"Remote machines","\u002Fremote\u002Foverview","3.remote\u002F1.overview","i-lucide-cloud",{"title":95,"path":96,"stem":97,"icon":98},"Remote deploy","\u002Fremote\u002Fdeploy","3.remote\u002F2.deploy","i-lucide-send",{"title":100,"path":101,"stem":102,"icon":103},"CI","\u002Fremote\u002Fci","3.remote\u002F3.ci","i-lucide-workflow",{"title":105,"path":106,"stem":107,"icon":108},"Tunnels","\u002Fremote\u002Ftunnel","3.remote\u002F4.tunnel","i-lucide-cable",{"title":110,"path":111,"stem":112,"children":113,"page":34},"Security","\u002Fsecurity","4.security",[114,119],{"title":115,"path":116,"stem":117,"icon":118},"Security model","\u002Fsecurity\u002Fmodel","4.security\u002F1.model","i-lucide-shield",{"title":120,"path":121,"stem":122,"icon":123},"Known issues","\u002Fsecurity\u002Fknown-issues","4.security\u002F2.known-issues","i-lucide-triangle-alert",{"title":125,"path":126,"stem":127,"children":128,"page":34},"Reference","\u002Freference","5.reference",[129],{"title":130,"path":131,"stem":132,"icon":133},"CLI reference","\u002Freference\u002Fcli","5.reference\u002F1.cli","i-lucide-terminal",{"title":135,"path":136,"stem":137,"icon":138},"Changelog","\u002Fchangelog","changelog","i-lucide-history",{"title":140,"path":141,"stem":142,"icon":143},"Communities","\u002Fcommunities","communities","i-lucide-heart-handshake",{"id":145,"title":10,"body":146,"description":319,"extension":320,"links":321,"meta":322,"navigation":323,"path":11,"seo":324,"stem":12,"__hash__":326},"docs\u002F1.get-started\u002F1.introduction.md",{"type":147,"value":148,"toc":312},"minimark",[149,162,165,228,233,236,276,279,283,293,297],[150,151,152,156,157,161],"p",{},[153,154,155],"strong",{},"Ant"," takes the project in your current directory, builds it into a container\nimage, and runs it on your machine, with Docker and, optionally, a managed\nCaddy for local domains. There is no server, agent, or remote database to set\nup. The CLI is a single binary, ",[158,159,160],"code",{},"ant",".",[150,163,164],{},"Everything Ant does falls under three pillars:",[166,167,168,181],"table",{},[169,170,171],"thead",{},[172,173,174,178],"tr",{},[175,176,177],"th",{},"Pillar",[175,179,180],{},"What it covers",[182,183,184,209,219],"tbody",{},[172,185,186,192],{},[187,188,189],"td",{},[153,190,191],{},"Build",[187,193,194,195,198,199,198,202,198,205,208],{},"Turn a project into an image, ",[158,196,197],{},"dockerfile",", ",[158,200,201],{},"nixpacks",[158,203,204],{},"buildpacks",[158,206,207],{},"railpack",", or a pre-built image",[172,210,211,216],{},[187,212,213],{},[153,214,215],{},"Collab",[187,217,218],{},"Your portable identity, the users on each machine, and the groups that divide a codebase",[172,220,221,225],{},[187,222,223],{},[153,224,66],{},[187,226,227],{},"Run it locally, route a local domain, or ship the image to a remote machine",[229,230,232],"h2",{"id":231},"the-metaphor","The metaphor",[150,234,235],{},"Ants names its parts after a colony, and the names carry the design:",[237,238,239,247,253,259,265],"ul",{},[240,241,242,243,246],"li",{},"A ",[153,244,245],{},"nest"," is a machine you deploy to. Your laptop is the first nest.",[240,248,242,249,252],{},[153,250,251],{},"colony"," is the people: your account, the users on a machine, their roles.",[240,254,242,255,258],{},[153,256,257],{},"group"," is a set of projects that share a network, env, and secrets.",[240,260,242,261,264],{},[153,262,263],{},"trail"," is a deploy, a marked path from a project up to production.",[240,266,267,268,271,272,275],{},"The ",[153,269,270],{},"midden"," is what you clear out: ",[158,273,274],{},"ant trail prune"," reclaims disk.",[150,277,278],{},"No queen means no central server everyone waits behind. Your project is built\nand run on your own machine, and remote work is opt-in.",[229,280,282],{"id":281},"local-first","Local first",[150,284,285,288,289,292],{},[158,286,287],{},"ant trail deploy local"," needs only Docker. Caddy and the optional builders are\ndetected and reported by ",[158,290,291],{},"ant nest tools",", never assumed. Identity and remote\nmachines stay off until you turn them on.",[229,294,296],{"id":295},"next","Next",[237,298,299,304,308],{},[240,300,301],{},[302,303,15],"a",{"href":16},[240,305,306],{},[302,307,20],{"href":21},[240,309,310],{},[302,311,41],{"href":42},{"title":313,"searchDepth":314,"depth":314,"links":315},"",2,[316,317,318],{"id":231,"depth":314,"text":232},{"id":281,"depth":314,"text":282},{"id":295,"depth":314,"text":296},"What Ant is, and the three pillars it is built around.","md",null,{},{"icon":13},{"title":10,"description":325},"Ant is a local-first build and deploy tool. Your machine is the first nest; groups divide the work and trails lead to production.","6LVZ3eiiFDzwHWvMUA_597oEyUzFltoEUWdD6PSQZNs",[321,328],{"title":15,"path":16,"stem":17,"description":329,"icon":18,"children":-1},"Build ant and ant-worker from a clone, or install a release build.",1791494554235]