[{"data":1,"prerenderedAt":392},["ShallowReactive",2],{"navigation_docs":3,"section-navigation-docs":130,"-docs-logs":164,"-docs-logs-surround":299,"doc-previews":304},[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":119,"body":166,"description":292,"extension":293,"links":294,"meta":295,"navigation":296,"path":120,"seo":297,"stem":121,"__hash__":298},"docs\u002Fdocs\u002F20.logs.md",{"type":167,"value":168,"toc":285},"minimark",[169,182,187,197,204,210,213,216,220,241,247,252,260,264],[170,171,172,173,177,178,181],"p",{},"There are two kinds of logs. Runtime logs are what a ",[174,175,176],"a",{"href":52},"service"," prints while it runs, and deployment logs are the output of each step of a ",[174,179,180],{"href":56},"deployment",".",[183,184,186],"h2",{"id":185},"runtime-logs","Runtime logs",[170,188,189,190,193,194,196],{},"Open a service on the canvas and click ",[191,192,119],"strong",{}," next to the ",[191,195,55],{}," tab. The logs open in a panel of their own and stream live.",[170,198,199],{},[200,201],"img",{"alt":202,"src":203},"Runtime logs of a service streaming in a panel next to the canvas","\u002Fimg\u002Fdocs\u002Flogs\u002Fruntime-logs.png",[170,205,206],{},[207,208,209],"em",{},"A service's output as it starts up. Pause and clear sit in the top right.",[170,211,212],{},"The panel starts with the last 1000 lines of each running replica and then follows along as new lines come in. When a service runs more than one replica, each line starts with a short ID of the replica that printed it.",[170,214,215],{},"The panel sticks with the replicas that were running when you opened it, so reopen it after a deployment to follow the new ones. If a service keeps crashing, the logs show what the last attempt printed before it exited.",[183,217,219],{"id":218},"deployment-logs","Deployment logs",[170,221,222,223,225,226,228,229,232,233,236,237,240],{},"Open the service's ",[191,224,55],{}," tab, expand a deployment and click ",[191,227,119],{}," next to ",[191,230,231],{},"Build",", ",[191,234,235],{},"Secrets"," or ",[191,238,239],{},"Deploy",". The logs stream while the step runs and stay available for a week. After that, the deployment stays in the list but only shows its rollout.",[170,242,243],{},[200,244],{"alt":245,"src":246},"A deployment expanded in the Deployments tab, with a Logs button next to its Build, Secrets and Deploy steps","\u002Fimg\u002Fdocs\u002Flogs\u002Fdeployment-logs.png",[170,248,249],{},[207,250,251],{},"Build, Secrets and Deploy each keep their own logs.",[170,253,254,255,259],{},"Rollout has no logs of its own. If a new version never becomes healthy, its ",[174,256,258],{"href":257},"#runtime-logs","runtime logs"," usually say why.",[183,261,263],{"id":262},"next-steps","Next steps",[265,266,267,274,280],"ul",{},[268,269,270,273],"li",{},[174,271,55],{"href":272},"\u002Fdocs\u002Fdeployments#deployment-steps"," for what each step does",[268,275,276,279],{},[174,277,59],{"href":278},"\u002Fdocs\u002Fbuilds#troubleshooting"," for making sense of a failed build",[268,281,282,284],{},[174,283,115],{"href":116}," for CPU and memory over time",{"title":286,"searchDepth":287,"depth":287,"links":288},"",2,[289,290,291],{"id":185,"depth":287,"text":186},{"id":218,"depth":287,"text":219},{"id":262,"depth":287,"text":263},"What your services print while they run, and the output of every deployment step.","md",null,{},true,{"title":119,"description":292},"KCyv8cYU_de8PcvMVEJZQsgxZYa_u9qA9I1YexBM_po",[300,302],{"title":115,"path":116,"stem":117,"description":301,"children":-1},"CPU and memory for every service, and disk usage for every volume.",{"title":123,"path":124,"stem":125,"description":303,"children":-1},"Plans, resource usage, the free trial, and what happens when a payment fails.",[305,308,310,313,316,319,322,325,328,331,334,337,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,373,374,375,377,380,384,388],{"path":6,"title":306,"description":307},"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":309,"title":9,"description":294},"\u002Fdocs\u002Fguides\u002F.navigation",{"path":16,"title":311,"description":312},"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":314,"description":315},"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":317,"description":318},"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":320,"description":321},"Deploy an Astro site","Deploy an Astro site on Lucity, static by default and server rendered when you add an adapter.",{"path":32,"title":323,"description":324},"Deploy an Express API","Deploy an Express API on Lucity. Three requirements, none of them platform-specific.",{"path":36,"title":326,"description":327},"Deploy a FastAPI service","Deploy a FastAPI service on Lucity. Detection is picky about layout, and the fix is one setting.",{"path":40,"title":329,"description":330},"Deploy a Django project","Deploy a Django project on Lucity, with migrations that run themselves and static files that do not.",{"path":44,"title":332,"description":333},"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":335,"description":336},"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":338,"description":339},"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":341},"Services are the deployable units of a project: what they are, how they are configured, and how they scale.",{"path":56,"title":55,"description":343},"How a deployment goes live on Lucity, and the ways to trigger one.",{"path":60,"title":59,"description":345},"How Lucity turns your source code into a container image.",{"path":64,"title":63,"description":347},"Configuration for your services: service variables, shared variables, and dynamic variables.",{"path":68,"title":67,"description":349},"Put a service on the internet. Use a platform hostname for quick tests, or a domain you own.",{"path":72,"title":71,"description":351},"Managed PostgreSQL databases, replicated and backed up, connected to your services without copying credentials.",{"path":76,"title":75,"description":353},"S3-compatible buckets for uploads, exports and anything else your service needs to keep.",{"path":80,"title":79,"description":355},"Persistent disks for services that need to keep state on the filesystem.",{"path":84,"title":83,"description":357},"A Redis®-compatible key-value store for caching, sessions and queues.",{"path":88,"title":87,"description":359},"Workspaces represent your organization in Lucity, with their own members, isolation and billing.",{"path":92,"title":91,"description":361},"Projects group services, databases and the environments they run in.",{"path":96,"title":95,"description":363},"Development, staging, production: isolated copies of the same application.",{"path":100,"title":99,"description":365},"Download a project as a Helm chart and run it on a Kubernetes cluster of your own.",{"path":104,"title":103,"description":367},"The GraphQL API behind the dashboard, with an interactive playground.",{"path":108,"title":107,"description":369},"Deploy and manage your services from a terminal or a CI pipeline.",{"path":112,"title":111,"description":371},"Deploy and manage your services from Claude Code, Codex, Cursor or any other MCP client.",{"path":116,"title":115,"description":301},{"path":120,"title":119,"description":292},{"path":124,"title":123,"description":303},{"path":128,"title":127,"description":376},"Run the whole platform on a Kubernetes cluster you own, using the same two Helm charts we run ourselves.",{"path":378,"title":379,"description":294},"\u002Flegal\u002F.navigation","Legal",{"path":381,"title":382,"description":383},"\u002Flegal\u002Fdata-processing-agreement","Data Processing Agreement","How Lucity processes personal data on your behalf.",{"path":385,"title":386,"description":387},"\u002Flegal\u002Fprivacy-policy","Privacy Policy","How Lucity handles your data.",{"path":389,"title":390,"description":391},"\u002Flegal\u002Fterms-of-use","Terms of Use","Terms governing your use of Lucity.",1791216728862]