[{"data":1,"prerenderedAt":174},["ShallowReactive",2],{"doc:cloudflare\u002Foverview":3},{"title":4,"description":5,"url":6,"markdownPath":7,"file":8,"section":9,"sectionTitle":10,"html":11,"toc":12,"navigation":33,"previous":172,"next":173},"L4 on Cloudflare","What the L4 installer creates in your Cloudflare account, how the resources are named, and which settings manage them afterwards.","\u002Fdocs\u002Fcloudflare\u002Foverview","\u002Fdocs\u002Fcloudflare\u002Foverview.md","docs\u002Fcloudflare\u002Foverview.md","cloudflare","Cloudflare","\u003Cp>A Cloudflare Server runs entirely in your own Cloudflare account. The official installer at \u003Ca href=\"https:\u002F\u002Fllll.gg\u002Fcreate?tab=cloudflare\">llll.gg\u002Fcreate\u003C\u002Fa> creates its resources through your Cloudflare authorization and uploads a published, checksum-verified release. There is no L4 service in between: Cloudflare bills your account directly, and the Server owns its Accounts, files and conversations.\u003C\u002Fp>\n\u003Cp>To install one, follow \u003Ca href=\"\u002Fdocs\u002Fget-started\u002Fcreate-on-cloudflare\">Create a Server on Cloudflare\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2 id=\"what-the-installer-creates\">\u003Ca class=\"heading-anchor\" href=\"#what-the-installer-creates\">What the installer creates\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>The installer generates a UUIDv4 for the new Server and uses it in every resource name. The same UUID is the Server&#39;s identity.\u003C\u002Fp>\n\u003Cdiv class=\"table-wrap\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Resource\u003C\u002Fth>\n\u003Cth>Name\u003C\u002Fth>\n\u003Cth>Purpose\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Worker\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>llll-&lt;uuid&gt;\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Runs the Server and serves its Client, with static assets.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>D1 database\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>llll-&lt;uuid&gt;-db\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Accounts, Members, Roles, messages, Tasks, settings and the file index.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Workers KV namespace\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>llll-&lt;uuid&gt;-tickets\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Short-lived connection tickets. Also holds files when the Server uses basic file storage.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>R2 bucket (files)\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>llll-&lt;uuid&gt;-files\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Private live files. Created when R2 is enabled.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>R2 bucket (backups)\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>llll-&lt;uuid&gt;-backups\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Backups, kept separate from live files. Created when R2 is enabled.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Durable Objects\u003C\u002Ftd>\n\u003Ctd>Namespaces in the Worker\u003C\u002Ftd>\n\u003Ctd>Realtime channels, presence, rate limits, notifications, Agents, Runs and Schedules.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>workers.dev\u003C\u002Fcode> address\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>llll-&lt;uuid&gt;.&lt;your-subdomain&gt;.workers.dev\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>The Server&#39;s first address.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Cron trigger\u003C\u002Ftd>\n\u003Ctd>Weekly\u003C\u002Ftd>\n\u003Ctd>Weekly backup and renewal of kept Cloudflare access.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>The Worker also gets bindings for Workers AI and Browser Rendering. Cloudflare bills those products by usage, for example when an Agent uses a Workers AI model; see \u003Ca href=\"\u002Fdocs\u002Fcloudflare\u002Fcosts-and-limits\">Costs and limits\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>The installer creates no custom domain, DNS record or mail configuration. You add those later from the Server&#39;s Settings. See \u003Ca href=\"\u002Fdocs\u002Fcloudflare\u002Fcustom-domain\">Custom domain\u003C\u002Fa> and \u003Ca href=\"\u002Fdocs\u002Fcloudflare\u002Fmail\">Mail\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3 id=\"without-r2\">\u003Ca class=\"heading-anchor\" href=\"#without-r2\">Without R2\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>Before it allocates anything, the installer checks whether R2 is enabled on the account. If it is not, the Server uses \u003Cstrong>basic file storage\u003C\u002Fstrong>: files are stored in the KV namespace with a limit of 20 MiB per file and 500 MiB in total, and there is no separate backups bucket, so backups download to your device.\u003C\u002Fp>\n\u003Cp>You can add R2 later in \u003Cstrong>Server settings → Storage → Connect R2\u003C\u002Fstrong>, then move existing files with \u003Cstrong>Move files to R2\u003C\u002Fstrong>. The copy is verified, and the original KV copies are kept.\u003C\u002Fp>\n\u003Ch2 id=\"what-the-server-keeps\">\u003Ca class=\"heading-anchor\" href=\"#what-the-server-keeps\">What the Server keeps\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>After installation the Worker holds only a few settings: its primary address, a random \u003Ccode>AUTH_SECRET\u003C\u002Fcode>, the authentication mode, the Cloudflare account ID and its resource bindings. The Server name, registration mode and mail settings live in D1. Changing the Server name in Settings never touches Cloudflare resources.\u003C\u002Fp>\n\u003Cp>The Owner setup claim is stored only as a digest in D1 and is deleted when the Owner claims the Server.\u003C\u002Fp>\n\u003Cp>If you leave \u003Cstrong>Keep Cloudflare access on this Server\u003C\u002Fstrong> on (the default), the Server also stores a Cloudflare credential, encrypted with its \u003Ccode>AUTH_SECRET\u003C\u002Fcode>. See \u003Ca href=\"\u002Fdocs\u002Fcloudflare\u002Faccess\">Cloudflare access\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2 id=\"where-to-manage-it\">\u003Ca class=\"heading-anchor\" href=\"#where-to-manage-it\">Where to manage it\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>In the Server, the Owner finds the Cloudflare deployment under \u003Cstrong>Server settings → Deployment\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cdiv class=\"table-wrap\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Tab\u003C\u002Fth>\n\u003Cth>What it does\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Cstrong>Overview\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Shows the Server address and the Worker name.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Domain\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Server addresses: add, make primary, remove. See \u003Ca href=\"\u002Fdocs\u002Fcloudflare\u002Fcustom-domain\">Custom domain\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Backups\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Download a backup or save one to an S3-compatible bucket. See \u003Ca href=\"\u002Fdocs\u002Fcloudflare\u002Fbackups\">Backups\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Updates\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Cloudflare access and updates. See \u003Ca href=\"\u002Fdocs\u002Fcloudflare\u002Fupdates\">Updates\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Remove\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>How to remove the Server. See \u003Ca href=\"\u002Fdocs\u002Fcloudflare\u002Fremove-a-server\">Remove a Server\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>File storage is under \u003Cstrong>Server settings → Storage\u003C\u002Fstrong>, and mail domains under \u003Cstrong>Server settings → Mail\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>\u003Cfigure class=\"doc-shot doc-shot-missing\">\u003Cdiv class=\"doc-shot-frame\" role=\"img\" aria-label=\"The Deployment settings with the Overview, Domain, Backups, Updates and Remove tabs, showing the Server address and Runtime\">\u003Cspan class=\"doc-shot-label\">Screenshot coming soon\u003C\u002Fspan>\u003Cspan class=\"doc-shot-alt\">The Deployment settings with the Overview, Domain, Backups, Updates and Remove tabs, showing the Server address and Runtime\u003C\u002Fspan>\u003C\u002Fdiv>\u003Cfigcaption>Server settings → Deployment on a Cloudflare Server\u003C\u002Ffigcaption>\u003C\u002Ffigure>\u003C\u002Fp>\n\u003Ch2 id=\"one-server-per-cloudflare-account\">\u003Ca class=\"heading-anchor\" href=\"#one-server-per-cloudflare-account\">One Server per Cloudflare account\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>You can create several Servers in one account; the installer lists every L4 Server it finds there under \u003Cstrong>Your Servers\u003C\u002Fstrong>. For safety, we recommend giving each Server its own Cloudflare account. A free account is enough. A credential kept on one Server then reaches only that Server&#39;s resources. This is a recommendation, not a requirement.\u003C\u002Fp>\n\u003Ch2 id=\"related\">\u003Ca class=\"heading-anchor\" href=\"#related\">Related\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"\u002Fdocs\u002Fcloudflare\u002Faccess\">Cloudflare access\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fdocs\u002Fcloudflare\u002Fcosts-and-limits\">Costs and limits\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fdocs\u002Fcloudflare\u002Fupdates\">Updates\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n",[13,17,21,24,27,30],{"id":14,"text":15,"depth":16},"what-the-installer-creates","What the installer creates",2,{"id":18,"text":19,"depth":20},"without-r2","Without R2",3,{"id":22,"text":23,"depth":16},"what-the-server-keeps","What the Server keeps",{"id":25,"text":26,"depth":16},"where-to-manage-it","Where to manage it",{"id":28,"text":29,"depth":16},"one-server-per-cloudflare-account","One Server per Cloudflare account",{"id":31,"text":32,"depth":16},"related","Related",[34,59,83,99,118,140,162],{"id":35,"title":36,"pages":37},"get-started","Get started",[38,41,44,47,50,53,56],{"title":39,"url":40},"What is L4","\u002Fdocs\u002Fget-started\u002Fwhat-is-l4",{"title":42,"url":43},"Choose how to run your Server","\u002Fdocs\u002Fget-started\u002Fchoose-how-to-run",{"title":45,"url":46},"Create a Server on Cloudflare","\u002Fdocs\u002Fget-started\u002Fcreate-on-cloudflare",{"title":48,"url":49},"Install on a VPS","\u002Fdocs\u002Fget-started\u002Finstall-on-a-vps",{"title":51,"url":52},"Connect to a Server","\u002Fdocs\u002Fget-started\u002Fconnect-a-server",{"title":54,"url":55},"Invite your team","\u002Fdocs\u002Fget-started\u002Finvite-your-team",{"title":57,"url":58},"Create your first Agent","\u002Fdocs\u002Fget-started\u002Ffirst-agent",{"id":9,"title":10,"pages":60},[61,62,65,68,71,74,77,80],{"title":4,"url":6},{"title":63,"url":64},"Cloudflare access","\u002Fdocs\u002Fcloudflare\u002Faccess",{"title":66,"url":67},"Costs and limits","\u002Fdocs\u002Fcloudflare\u002Fcosts-and-limits",{"title":69,"url":70},"Custom domain","\u002Fdocs\u002Fcloudflare\u002Fcustom-domain",{"title":72,"url":73},"Mail on Cloudflare","\u002Fdocs\u002Fcloudflare\u002Fmail",{"title":75,"url":76},"Update a Cloudflare Server","\u002Fdocs\u002Fcloudflare\u002Fupdates",{"title":78,"url":79},"Backups on Cloudflare","\u002Fdocs\u002Fcloudflare\u002Fbackups",{"title":81,"url":82},"Remove a Cloudflare Server","\u002Fdocs\u002Fcloudflare\u002Fremove-a-server",{"id":84,"title":85,"pages":86},"self-host","Self-host",[87,90,93,96],{"title":88,"url":89},"Run a Server on a VPS","\u002Fdocs\u002Fself-host\u002Fvps",{"title":91,"url":92},"Run a Server with Docker Compose","\u002Fdocs\u002Fself-host\u002Fdocker",{"title":94,"url":95},"Run a Server on Coolify","\u002Fdocs\u002Fself-host\u002Fcoolify",{"title":97,"url":98},"Compute Nodes","\u002Fdocs\u002Fself-host\u002Fcompute-nodes",{"id":100,"title":101,"pages":102},"concepts","Concepts",[103,106,109,112,115],{"title":104,"url":105},"Servers and the Shell","\u002Fdocs\u002Fconcepts\u002Fserver-and-shell",{"title":107,"url":108},"Accounts, Members and Roles","\u002Fdocs\u002Fconcepts\u002Faccounts-members-roles",{"title":110,"url":111},"Agents, Tasks and Runs","\u002Fdocs\u002Fconcepts\u002Fagents-tasks-runs",{"title":113,"url":114},"Files and backups","\u002Fdocs\u002Fconcepts\u002Ffiles-and-backups",{"title":116,"url":117},"Releases and updates","\u002Fdocs\u002Fconcepts\u002Freleases-and-updates",{"id":119,"title":120,"pages":121},"agents","Agents and MCP",[122,125,128,131,134,137],{"title":123,"url":124},"Agents overview","\u002Fdocs\u002Fagents\u002Foverview",{"title":126,"url":127},"Models and Providers","\u002Fdocs\u002Fagents\u002Fmodels-and-providers",{"title":129,"url":130},"Connect an MCP client","\u002Fdocs\u002Fagents\u002Fmcp",{"title":132,"url":133},"External agents","\u002Fdocs\u002Fagents\u002Fexternal-agents",{"title":135,"url":136},"Repositories and code work","\u002Fdocs\u002Fagents\u002Frepositories",{"title":138,"url":139},"Schedules","\u002Fdocs\u002Fagents\u002Fschedules",{"id":141,"title":142,"pages":143},"guides","Guides",[144,147,150,153,156,159],{"title":145,"url":146},"Chat","\u002Fdocs\u002Fguides\u002Fchat",{"title":148,"url":149},"Projects and Tasks","\u002Fdocs\u002Fguides\u002Fprojects-and-tasks",{"title":151,"url":152},"Mail","\u002Fdocs\u002Fguides\u002Fmail",{"title":154,"url":155},"Calls and Live","\u002Fdocs\u002Fguides\u002Fcalls",{"title":157,"url":158},"Notifications","\u002Fdocs\u002Fguides\u002Fnotifications",{"title":160,"url":161},"Telegram","\u002Fdocs\u002Fguides\u002Ftelegram",{"id":163,"title":164,"pages":165},"reference","Reference",[166,169],{"title":167,"url":168},"Glossary","\u002Fdocs\u002Freference\u002Fglossary",{"title":170,"url":171},"Troubleshooting","\u002Fdocs\u002Freference\u002Ftroubleshooting",{"title":57,"url":58},{"title":63,"url":64},1793304297751]