[{"data":1,"prerenderedAt":378},["ShallowReactive",2],{"navigation_docs":3,"section-navigation-docs":130,"-docs-metrics":164,"-docs-metrics-surround":285,"doc-previews":290},[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":115,"body":166,"description":278,"extension":279,"links":280,"meta":281,"navigation":282,"path":116,"seo":283,"stem":117,"__hash__":284},"docs\u002Fdocs\u002F19.metrics.md",{"type":167,"value":168,"toc":271},"minimark",[169,182,187,194,201,207,230,233,237,244,247,251],[170,171,172,173,177,178,181],"p",{},"Lucity keeps track of how much CPU and memory each ",[174,175,176],"a",{"href":52},"service"," uses, and how full each ",[174,179,180],{"href":80},"volume"," is.",[183,184,186],"h2",{"id":185},"service-metrics","Service metrics",[170,188,189,190,193],{},"Open a service on the canvas and switch to the ",[191,192,115],"strong",{}," tab. It charts CPU and memory over the last hour, 6 hours, 24 hours, 7 days or 30 days.",[170,195,196],{},[197,198],"img",{"alt":199,"src":200},"The Metrics tab of a service, charting CPU and memory over the last 30 days","\u002Fimg\u002Fdocs\u002Fmetrics\u002Fservice-metrics.png",[170,202,203],{},[204,205,206],"em",{},"CPU and memory over 30 days. The dashed line marks a deployment.",[170,208,209,212,213,216,217,220,221,224,225,229],{},[191,210,211],{},"Total"," adds up all replicas of the service, while ",[191,214,215],{},"Per replica"," splits the chart into one band per replica. The ",[191,218,219],{},"max"," next to each chart's title is the most the service can use, which is its CPU or memory limit times the number of replicas. Every deployment is marked with a dashed line, so you can tell whether a change moved the numbers. Hovering over a chart shows the exact values at that point in time, along with an ",[191,222,223],{},"Edit"," link to change the limit in the service settings, and ",[174,226,228],{"href":227},"\u002Fdocs\u002Fservices#cpu-and-memory","CPU and memory"," explains what happens when a service reaches it.",[170,231,232],{},"CPU is measured in cores, and anything below one core is shown in thousandths, so 250m is a quarter of a core. Metrics show up a minute or two after a service starts, and the charts refresh every 30 seconds.",[183,234,236],{"id":235},"volume-usage","Volume usage",[170,238,239,240,243],{},"Open a volume and switch to the ",[191,241,242],{},"Usage"," tab to see how much of the disk is in use, as a percentage of its size and charted over the same time ranges.",[170,245,246],{},"On the canvas, a mounted volume is attached under its service and fills from left to right as the disk fills up. Usage is only recorded while the volume is mounted.",[183,248,250],{"id":249},"next-steps","Next steps",[252,253,254,260,266],"ul",{},[255,256,257,259],"li",{},[174,258,51],{"href":227}," for changing CPU, memory and replicas",[255,261,262,265],{},[174,263,79],{"href":264},"\u002Fdocs\u002Fvolumes#size"," for growing a volume that is filling up",[255,267,268,270],{},[174,269,119],{"href":120}," for what a service prints while it runs",{"title":272,"searchDepth":273,"depth":273,"links":274},"",2,[275,276,277],{"id":185,"depth":273,"text":186},{"id":235,"depth":273,"text":236},{"id":249,"depth":273,"text":250},"CPU and memory for every service, and disk usage for every volume.","md",null,{},true,{"title":115,"description":278},"146mCXXZw5WxhWWJ3hQmi6Bue9v_k_oPN09tviqDTwU",[286,288],{"title":111,"path":112,"stem":113,"description":287,"children":-1},"Deploy and manage your services from Claude Code, Codex, Cursor or any other MCP client.",{"title":119,"path":120,"stem":121,"description":289,"children":-1},"What your services print while they run, and the output of every deployment step.",[291,294,296,299,302,305,308,311,314,317,320,323,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,357,358,359,361,363,366,370,374],{"path":6,"title":292,"description":293},"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":295,"title":9,"description":280},"\u002Fdocs\u002Fguides\u002F.navigation",{"path":16,"title":297,"description":298},"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":300,"description":301},"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":303,"description":304},"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":306,"description":307},"Deploy an Astro site","Deploy an Astro site on Lucity, static by default and server rendered when you add an adapter.",{"path":32,"title":309,"description":310},"Deploy an Express API","Deploy an Express API on Lucity. Three requirements, none of them platform-specific.",{"path":36,"title":312,"description":313},"Deploy a FastAPI service","Deploy a FastAPI service on Lucity. Detection is picky about layout, and the fix is one setting.",{"path":40,"title":315,"description":316},"Deploy a Django project","Deploy a Django project on Lucity, with migrations that run themselves and static files that do not.",{"path":44,"title":318,"description":319},"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":321,"description":322},"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":324,"description":325},"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":327},"Services are the deployable units of a project: what they are, how they are configured, and how they scale.",{"path":56,"title":55,"description":329},"How a deployment goes live on Lucity, and the ways to trigger one.",{"path":60,"title":59,"description":331},"How Lucity turns your source code into a container image.",{"path":64,"title":63,"description":333},"Configuration for your services: service variables, shared variables, and dynamic variables.",{"path":68,"title":67,"description":335},"Put a service on the internet. Use a platform hostname for quick tests, or a domain you own.",{"path":72,"title":71,"description":337},"Managed PostgreSQL databases, replicated and backed up, connected to your services without copying credentials.",{"path":76,"title":75,"description":339},"S3-compatible buckets for uploads, exports and anything else your service needs to keep.",{"path":80,"title":79,"description":341},"Persistent disks for services that need to keep state on the filesystem.",{"path":84,"title":83,"description":343},"A Redis®-compatible key-value store for caching, sessions and queues.",{"path":88,"title":87,"description":345},"Workspaces represent your organization in Lucity, with their own members, isolation and billing.",{"path":92,"title":91,"description":347},"Projects group services, databases and the environments they run in.",{"path":96,"title":95,"description":349},"Development, staging, production: isolated copies of the same application.",{"path":100,"title":99,"description":351},"Download a project as a Helm chart and run it on a Kubernetes cluster of your own.",{"path":104,"title":103,"description":353},"The GraphQL API behind the dashboard, with an interactive playground.",{"path":108,"title":107,"description":355},"Deploy and manage your services from a terminal or a CI pipeline.",{"path":112,"title":111,"description":287},{"path":116,"title":115,"description":278},{"path":120,"title":119,"description":289},{"path":124,"title":123,"description":360},"Plans, resource usage, the free trial, and what happens when a payment fails.",{"path":128,"title":127,"description":362},"Run the whole platform on a Kubernetes cluster you own, using the same two Helm charts we run ourselves.",{"path":364,"title":365,"description":280},"\u002Flegal\u002F.navigation","Legal",{"path":367,"title":368,"description":369},"\u002Flegal\u002Fdata-processing-agreement","Data Processing Agreement","How Lucity processes personal data on your behalf.",{"path":371,"title":372,"description":373},"\u002Flegal\u002Fprivacy-policy","Privacy Policy","How Lucity handles your data.",{"path":375,"title":376,"description":377},"\u002Flegal\u002Fterms-of-use","Terms of Use","Terms governing your use of Lucity.",1791216728744]