[{"data":1,"prerenderedAt":459},["ShallowReactive",2],{"navigation_docs":3,"section-navigation-docs":130,"-docs-billing":164,"-docs-billing-surround":366,"doc-previews":371},[4,8,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126],{"title":5,"path":6,"stem":7},"Quickstart","\u002Fdocs\u002Fquickstart","docs\u002F01.quickstart",{"title":9,"path":10,"stem":11,"children":12},"Guides","\u002Fdocs\u002Fguides","docs\u002F02.guides\u002Findex",[13,14,18,22,26,30,34,38,42,46],{"title":9,"path":10,"stem":11},{"title":15,"path":16,"stem":17},"Next.js","\u002Fdocs\u002Fguides\u002Fnextjs","docs\u002F02.guides\u002F1.nextjs",{"title":19,"path":20,"stem":21},"Nuxt","\u002Fdocs\u002Fguides\u002Fnuxt","docs\u002F02.guides\u002F2.nuxt",{"title":23,"path":24,"stem":25},"SvelteKit","\u002Fdocs\u002Fguides\u002Fsveltekit","docs\u002F02.guides\u002F3.sveltekit",{"title":27,"path":28,"stem":29},"Astro","\u002Fdocs\u002Fguides\u002Fastro","docs\u002F02.guides\u002F4.astro",{"title":31,"path":32,"stem":33},"Express","\u002Fdocs\u002Fguides\u002Fexpress","docs\u002F02.guides\u002F5.express",{"title":35,"path":36,"stem":37},"FastAPI","\u002Fdocs\u002Fguides\u002Ffastapi","docs\u002F02.guides\u002F6.fastapi",{"title":39,"path":40,"stem":41},"Django","\u002Fdocs\u002Fguides\u002Fdjango","docs\u002F02.guides\u002F7.django",{"title":43,"path":44,"stem":45},"Laravel","\u002Fdocs\u002Fguides\u002Flaravel","docs\u002F02.guides\u002F8.laravel",{"title":47,"path":48,"stem":49},"Go","\u002Fdocs\u002Fguides\u002Fgo","docs\u002F02.guides\u002F9.go",{"title":51,"path":52,"stem":53},"Services","\u002Fdocs\u002Fservices","docs\u002F03.services",{"title":55,"path":56,"stem":57},"Deployments","\u002Fdocs\u002Fdeployments","docs\u002F04.deployments",{"title":59,"path":60,"stem":61},"Builds","\u002Fdocs\u002Fbuilds","docs\u002F05.builds",{"title":63,"path":64,"stem":65},"Variables","\u002Fdocs\u002Fvariables","docs\u002F06.variables",{"title":67,"path":68,"stem":69},"Domains","\u002Fdocs\u002Fdomains","docs\u002F07.domains",{"title":71,"path":72,"stem":73},"PostgreSQL","\u002Fdocs\u002Fpostgres","docs\u002F08.postgres",{"title":75,"path":76,"stem":77},"Object storage","\u002Fdocs\u002Fobject-storage","docs\u002F09.object-storage",{"title":79,"path":80,"stem":81},"Volumes","\u002Fdocs\u002Fvolumes","docs\u002F10.volumes",{"title":83,"path":84,"stem":85},"Key-value store","\u002Fdocs\u002Fredis","docs\u002F11.redis",{"title":87,"path":88,"stem":89},"Workspaces","\u002Fdocs\u002Fworkspaces","docs\u002F12.workspaces",{"title":91,"path":92,"stem":93},"Projects","\u002Fdocs\u002Fprojects","docs\u002F13.projects",{"title":95,"path":96,"stem":97},"Environments","\u002Fdocs\u002Fenvironments","docs\u002F14.environments",{"title":99,"path":100,"stem":101},"Eject","\u002Fdocs\u002Feject","docs\u002F15.eject",{"title":103,"path":104,"stem":105},"API","\u002Fdocs\u002Fapi","docs\u002F16.api",{"title":107,"path":108,"stem":109},"CLI","\u002Fdocs\u002Fcli","docs\u002F17.cli",{"title":111,"path":112,"stem":113},"Claude Plugin & MCP","\u002Fdocs\u002Fclaude-plugin","docs\u002F18.claude-plugin",{"title":115,"path":116,"stem":117},"Metrics","\u002Fdocs\u002Fmetrics","docs\u002F19.metrics",{"title":119,"path":120,"stem":121},"Logs","\u002Fdocs\u002Flogs","docs\u002F20.logs",{"title":123,"path":124,"stem":125},"Billing","\u002Fdocs\u002Fbilling","docs\u002F21.billing",{"title":127,"path":128,"stem":129},"Self-hosting","\u002Fdocs\u002Fself-hosting","docs\u002F22.self-hosting",[131,132,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163],{"title":5,"path":6,"stem":7},{"title":9,"path":10,"stem":11,"children":133},[134,135,136,137,138,139,140,141,142,143],{"title":9,"path":10,"stem":11},{"title":15,"path":16,"stem":17},{"title":19,"path":20,"stem":21},{"title":23,"path":24,"stem":25},{"title":27,"path":28,"stem":29},{"title":31,"path":32,"stem":33},{"title":35,"path":36,"stem":37},{"title":39,"path":40,"stem":41},{"title":43,"path":44,"stem":45},{"title":47,"path":48,"stem":49},{"title":51,"path":52,"stem":53},{"title":55,"path":56,"stem":57},{"title":59,"path":60,"stem":61},{"title":63,"path":64,"stem":65},{"title":67,"path":68,"stem":69},{"title":71,"path":72,"stem":73},{"title":75,"path":76,"stem":77},{"title":79,"path":80,"stem":81},{"title":83,"path":84,"stem":85},{"title":87,"path":88,"stem":89},{"title":91,"path":92,"stem":93},{"title":95,"path":96,"stem":97},{"title":99,"path":100,"stem":101},{"title":103,"path":104,"stem":105},{"title":107,"path":108,"stem":109},{"title":111,"path":112,"stem":113},{"title":115,"path":116,"stem":117},{"title":119,"path":120,"stem":121},{"title":123,"path":124,"stem":125},{"title":127,"path":128,"stem":129},{"id":165,"title":123,"body":166,"description":359,"extension":360,"links":361,"meta":362,"navigation":363,"path":124,"seo":364,"stem":125,"__hash__":365},"docs\u002Fdocs\u002F21.billing.md",{"type":167,"value":168,"toc":348},"minimark",[169,183,188,191,208,211,215,225,232,238,242,250,256,261,272,275,279,285,289,298,306,310,313,326,329,332,336],[170,171,172,173,177,178,182],"p",{},"Every ",[174,175,176],"a",{"href":88},"workspace"," has its own plan and its own invoice. The plan's monthly fee comes back to you as credit for the resources your projects use, so you only pay extra for usage beyond it. The plans and the rates for resources are on the ",[174,179,181],{"href":180},"\u002Fpricing","pricing page",".",[184,185,187],"h2",{"id":186},"what-you-pay-for","What you pay for",[170,189,190],{},"Resource usage is the CPU, memory and disk taken up by your services, databases, key-value stores and volumes.",[170,192,193,194,198,199,203,204,207],{},"How CPU and memory are counted depends on the environment's ",[174,195,197],{"href":196},"\u002Fdocs\u002Fenvironments#tiers","tier",". In an ",[200,201,202],"strong",{},"Eco"," environment you pay for what your services actually use, so a service that sits idle costs very little. In a ",[200,205,206],{},"Production"," environment you pay for the CPU and memory reserved for each service, whether it uses them or not. Disk is billed at its full size, however much of it is filled.",[170,209,210],{},"Usage is paid from the plan's credit first, and anything beyond it is added to the next invoice. Credit left over at the end of a billing period doesn't carry over.",[184,212,214],{"id":213},"tracking-usage","Tracking usage",[170,216,217,218,221,222,224],{},"Open ",[200,219,220],{},"Workspace settings"," from the avatar menu in the top right and choose ",[200,223,123],{},". It shows the plan, when the current billing period ends, and what the workspace has used so far in this period.",[170,226,227],{},[228,229],"img",{"alt":230,"src":231},"The Billing section of the workspace settings, showing the plan, the resource costs so far and the estimated total","\u002Fimg\u002Fdocs\u002Fbilling\u002Fbilling-settings.png",[170,233,234],{},[235,236,237],"em",{},"The estimated total is the plan fee plus whatever usage the credit doesn't cover.",[184,239,241],{"id":240},"the-free-trial","The free trial",[170,243,244,245,249],{},"When you sign up, your ",[174,246,248],{"href":247},"\u002Fdocs\u002Fworkspaces#personal-workspaces","personal workspace"," gets a free trial of 14 days or €5 of usage, whichever runs out first. No credit card is needed. A badge in the dashboard header counts down both.",[170,251,252],{},[228,253],{"alt":254,"src":255},"The trial badge in the dashboard header, open to show the days and credit left","\u002Fimg\u002Fdocs\u002Fbilling\u002Ftrial-badge.png",[170,257,258],{},[235,259,260],{},"What's left of the trial, one click away.",[170,262,263,264,266,267,271],{},"To keep the workspace running, choose a plan under ",[200,265,123],{}," and add a payment method. If the trial runs out first, the workspace is ",[174,268,270],{"href":269},"#suspension","suspended"," until you do.",[170,273,274],{},"Only your personal workspace gets a trial. Creating any other workspace asks you to choose its plan and pay for it straight away.",[184,276,278],{"id":277},"changing-plans","Changing plans",[170,280,281,282,284],{},"Switch between Hobby and Pro under ",[200,283,123],{}," at any time. The new plan applies immediately, and the fee is prorated for the rest of the billing period.",[184,286,288],{"id":287},"payment-methods-and-invoices","Payment methods and invoices",[170,290,291,294,295,297],{},[200,292,293],{},"Open portal"," under ",[200,296,123],{}," takes you to the billing portal, where you change the payment method, download invoices and update your billing details.",[170,299,300,301,305],{},"Everyone in the workspace can see its plan and usage, but only ",[174,302,304],{"href":303},"\u002Fdocs\u002Fworkspaces#members-and-roles","admins"," can change the plan or open the portal.",[184,307,309],{"id":308},"suspension","Suspension",[170,311,312],{},"A workspace is suspended when its trial ends without a plan, or when a payment fails. While it is suspended:",[314,315,316,320,323],"ul",{},[317,318,319],"li",{},"Services stop, and their domains stop serving traffic.",[317,321,322],{},"Databases and key-value stores are paused.",[317,324,325],{},"Nothing can be built, deployed or changed, but you can still look around the dashboard.",[170,327,328],{},"Your data stays put. Databases, volumes and buckets keep their contents, and everything comes back the way it was.",[170,330,331],{},"A banner across the top of the dashboard leads to the fix. After a trial, choose a plan. After a failed payment, update the payment method in the billing portal. As soon as the payment goes through, the workspace resumes on its own.",[184,333,335],{"id":334},"next-steps","Next steps",[314,337,338,343],{},[317,339,340,342],{},[174,341,87],{"href":88}," for members, roles and who can manage billing",[317,344,345,347],{},[174,346,95],{"href":196}," for choosing a tier",{"title":349,"searchDepth":350,"depth":350,"links":351},"",2,[352,353,354,355,356,357,358],{"id":186,"depth":350,"text":187},{"id":213,"depth":350,"text":214},{"id":240,"depth":350,"text":241},{"id":277,"depth":350,"text":278},{"id":287,"depth":350,"text":288},{"id":308,"depth":350,"text":309},{"id":334,"depth":350,"text":335},"Plans, resource usage, the free trial, and what happens when a payment fails.","md",null,{},true,{"title":123,"description":359},"t1URDL8004QVCxFnUfZtC2VOVzYG-O9m_BG-wnn7c-o",[367,369],{"title":119,"path":120,"stem":121,"description":368,"children":-1},"What your services print while they run, and the output of every deployment step.",{"title":127,"path":128,"stem":129,"description":370,"children":-1},"Run the whole platform on a Kubernetes cluster you own, using the same two Helm charts we run ourselves.",[372,375,377,380,383,386,389,392,395,398,401,404,407,409,411,413,415,417,419,421,423,425,427,429,431,433,435,437,439,441,442,443,444,447,451,455],{"path":6,"title":373,"description":374},"Deploy your first service","Deploy an app to Lucity, put it on a public domain, and connect a PostgreSQL database and an object storage bucket in about fifteen minutes.",{"path":376,"title":9,"description":361},"\u002Fdocs\u002Fguides\u002F.navigation",{"path":16,"title":378,"description":379},"Deploy a Next.js app","Deploy a Next.js app on Lucity, with a database, environment variables that behave, and no Dockerfile.",{"path":20,"title":381,"description":382},"Deploy a Nuxt app","Deploy a Nuxt app on Lucity. Nitro output, runtime config, and a database, with no preset to pick.",{"path":24,"title":384,"description":385},"Deploy a SvelteKit app","Deploy a SvelteKit app on Lucity. One adapter change stands between a fresh project and a running service.",{"path":28,"title":387,"description":388},"Deploy an Astro site","Deploy an Astro site on Lucity, static by default and server rendered when you add an adapter.",{"path":32,"title":390,"description":391},"Deploy an Express API","Deploy an Express API on Lucity. Three requirements, none of them platform-specific.",{"path":36,"title":393,"description":394},"Deploy a FastAPI service","Deploy a FastAPI service on Lucity. Detection is picky about layout, and the fix is one setting.",{"path":40,"title":396,"description":397},"Deploy a Django project","Deploy a Django project on Lucity, with migrations that run themselves and static files that do not.",{"path":44,"title":399,"description":400},"Deploy a Laravel application","Deploy a Laravel application on Lucity, with migrations, caches and a queue worker, and no server to configure.",{"path":48,"title":402,"description":403},"Deploy a Go service","Deploy a Go service on Lucity. Compiled in the build, shipped as a binary, nothing else in the image.",{"path":10,"title":405,"description":406},"Deploy your framework","Deploy guides for the frameworks people actually ship: Next.js, Nuxt, SvelteKit, Astro, Express, FastAPI, Django, Laravel, and Go.",{"path":52,"title":51,"description":408},"Services are the deployable units of a project: what they are, how they are configured, and how they scale.",{"path":56,"title":55,"description":410},"How a deployment goes live on Lucity, and the ways to trigger one.",{"path":60,"title":59,"description":412},"How Lucity turns your source code into a container image.",{"path":64,"title":63,"description":414},"Configuration for your services: service variables, shared variables, and dynamic variables.",{"path":68,"title":67,"description":416},"Put a service on the internet. Use a platform hostname for quick tests, or a domain you own.",{"path":72,"title":71,"description":418},"Managed PostgreSQL databases, replicated and backed up, connected to your services without copying credentials.",{"path":76,"title":75,"description":420},"S3-compatible buckets for uploads, exports and anything else your service needs to keep.",{"path":80,"title":79,"description":422},"Persistent disks for services that need to keep state on the filesystem.",{"path":84,"title":83,"description":424},"A Redis®-compatible key-value store for caching, sessions and queues.",{"path":88,"title":87,"description":426},"Workspaces represent your organization in Lucity, with their own members, isolation and billing.",{"path":92,"title":91,"description":428},"Projects group services, databases and the environments they run in.",{"path":96,"title":95,"description":430},"Development, staging, production: isolated copies of the same application.",{"path":100,"title":99,"description":432},"Download a project as a Helm chart and run it on a Kubernetes cluster of your own.",{"path":104,"title":103,"description":434},"The GraphQL API behind the dashboard, with an interactive playground.",{"path":108,"title":107,"description":436},"Deploy and manage your services from a terminal or a CI pipeline.",{"path":112,"title":111,"description":438},"Deploy and manage your services from Claude Code, Codex, Cursor or any other MCP client.",{"path":116,"title":115,"description":440},"CPU and memory for every service, and disk usage for every volume.",{"path":120,"title":119,"description":368},{"path":124,"title":123,"description":359},{"path":128,"title":127,"description":370},{"path":445,"title":446,"description":361},"\u002Flegal\u002F.navigation","Legal",{"path":448,"title":449,"description":450},"\u002Flegal\u002Fdata-processing-agreement","Data Processing Agreement","How Lucity processes personal data on your behalf.",{"path":452,"title":453,"description":454},"\u002Flegal\u002Fprivacy-policy","Privacy Policy","How Lucity handles your data.",{"path":456,"title":457,"description":458},"\u002Flegal\u002Fterms-of-use","Terms of Use","Terms governing your use of Lucity.",1791216728914]