[{"data":1,"prerenderedAt":707},["ShallowReactive",2],{"navigation_docs":3,"section-navigation-docs":130,"-comparisons":164,"-comparisons-siblings":597,"doc-previews":616},[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":166,"actions":167,"body":168,"description":588,"extension":589,"meta":590,"navigation":591,"path":593,"seo":594,"stem":595,"__hash__":596},"solutions\u002F2.comparisons\u002Findex.md","PaaS Comparison: Lucity vs Railway, Render, Heroku, Fly.io, Coolify",null,{"type":169,"value":170,"toc":581},"minimark",[171,175,180,490,494,497,500,529,533,536],[172,173,174],"p",{},"The PaaS market has great options. Here's an honest look at how Lucity compares. We'll tell you where others excel and where we think we do better.",[176,177,179],"h2",{"id":178},"feature-comparison","Feature Comparison",[181,182,183,214],"table",{},[184,185,186],"thead",{},[187,188,189,193,196,199,202,205,208,211],"tr",{},[190,191,192],"th",{},"Feature",[190,194,195],{},"Lucity",[190,197,198],{},"Railway",[190,200,201],{},"Render",[190,203,204],{},"Heroku",[190,206,207],{},"Vercel",[190,209,210],{},"Fly.io",[190,212,213],{},"Coolify",[215,216,217,243,265,287,311,336,358,381,404,426,448,469],"tbody",{},[187,218,219,226,229,232,234,236,238,240],{},[220,221,222],"td",{},[223,224,225],"strong",{},"Open source",[220,227,228],{},"AGPL-3.0",[220,230,231],{},"No",[220,233,231],{},[220,235,231],{},[220,237,231],{},[220,239,231],{},[220,241,242],{},"Apache 2.0",[187,244,245,250,253,255,257,259,261,263],{},[220,246,247],{},[223,248,249],{},"Self-hostable",[220,251,252],{},"Yes",[220,254,231],{},[220,256,231],{},[220,258,231],{},[220,260,231],{},[220,262,231],{},[220,264,252],{},[187,266,267,272,275,277,279,281,283,285],{},[220,268,269],{},[223,270,271],{},"Ejectability",[220,273,274],{},"Full",[220,276,231],{},[220,278,231],{},[220,280,231],{},[220,282,231],{},[220,284,231],{},[220,286,231],{},[187,288,289,294,296,299,301,303,305,308],{},[220,290,291],{},[223,292,293],{},"Kubernetes native",[220,295,252],{},[220,297,298],{},"Hidden",[220,300,298],{},[220,302,231],{},[220,304,231],{},[220,306,307],{},"No (Firecracker)",[220,309,310],{},"No (Docker)",[187,312,313,318,321,323,325,328,330,333],{},[220,314,315],{},[223,316,317],{},"EU hosting",[220,319,320],{},"Yes (Swiss coming soon)",[220,322,231],{},[220,324,231],{},[220,326,327],{},"EU (Salesforce)",[220,329,231],{},[220,331,332],{},"Yes (Amsterdam, Frankfurt)",[220,334,335],{},"BYOS",[187,337,338,343,345,348,350,352,354,356],{},[220,339,340],{},[223,341,342],{},"GitOps (ArgoCD)",[220,344,252],{},[220,346,347],{},"Proprietary",[220,349,347],{},[220,351,347],{},[220,353,347],{},[220,355,231],{},[220,357,231],{},[187,359,360,365,367,369,371,374,376,379],{},[220,361,362],{},[223,363,364],{},"PR previews",[220,366,252],{},[220,368,252],{},[220,370,252],{},[220,372,373],{},"Add-on",[220,375,252],{},[220,377,378],{},"Manual",[220,380,252],{},[187,382,383,387,390,392,394,396,399,402],{},[220,384,385],{},[223,386,71],{},[220,388,389],{},"CNPG",[220,391,252],{},[220,393,252],{},[220,395,252],{},[220,397,398],{},"Neon (partner)",[220,400,401],{},"Managed ($38+\u002Fmo)",[220,403,252],{},[187,405,406,411,413,415,417,419,422,424],{},[220,407,408],{},[223,409,410],{},"Redis",[220,412,252],{},[220,414,252],{},[220,416,252],{},[220,418,252],{},[220,420,421],{},"Upstash (partner)",[220,423,252],{},[220,425,252],{},[187,427,428,433,435,437,439,441,443,446],{},[220,429,430],{},[223,431,432],{},"Cron jobs",[220,434,252],{},[220,436,252],{},[220,438,252],{},[220,440,373],{},[220,442,252],{},[220,444,445],{},"Via Machines API",[220,447,252],{},[187,449,450,455,457,459,461,463,465,467],{},[220,451,452],{},[223,453,454],{},"Custom domains",[220,456,252],{},[220,458,252],{},[220,460,252],{},[220,462,252],{},[220,464,252],{},[220,466,252],{},[220,468,252],{},[187,470,471,475,478,480,482,484,486,488],{},[220,472,473],{},[223,474,107],{},[220,476,477],{},"Coming soon",[220,479,252],{},[220,481,231],{},[220,483,252],{},[220,485,252],{},[220,487,252],{},[220,489,231],{},[176,491,493],{"id":492},"how-to-read-this","How to Read This",[172,495,496],{},"Every platform has strengths. Railway's polish is genuinely impressive. Render's simplicity is refreshing. Heroku pioneered the entire category. Vercel is unmatched for frontend deployment. Fly.io's global edge infrastructure is technically remarkable. Coolify proves open-source PaaS has a market.",[172,498,499],{},"Choose based on what matters to you:",[501,502,503,511,517,523],"ul",{},[504,505,506,507,510],"li",{},"If ",[223,508,509],{},"ejectability"," matters (you want to own your infrastructure config and leave without a rewrite), that's where Lucity stands alone.",[504,512,506,513,516],{},[223,514,515],{},"open source"," matters (you want to self-host, audit the code, or contribute), Lucity and Coolify are the only options in this list. Lucity runs on Kubernetes with GitOps; Coolify runs on Docker Compose.",[504,518,506,519,522],{},[223,520,521],{},"data residency"," matters (you need EU hosting for compliance, with Swiss data residency coming soon), Lucity Cloud runs on European infrastructure.",[504,524,506,525,528],{},[223,526,527],{},"maximum polish"," matters and lock-in isn't a concern, Railway and Vercel are excellent choices.",[176,530,532],{"id":531},"detailed-comparisons","Detailed Comparisons",[172,534,535],{},"We've written honest, detailed comparisons with each platform. We genuinely try to acknowledge where competitors do things better, because pretending otherwise would be insulting your intelligence.",[501,537,538,546,553,560,567,574],{},[504,539,540,545],{},[541,542,544],"a",{"href":543},"\u002Fcomparisons\u002Fvs-railway","Lucity vs Railway",": Railway's polish meets Lucity's freedom",[504,547,548,552],{},[541,549,551],{"href":550},"\u002Fcomparisons\u002Fvs-render","Lucity vs Render",": Render's simplicity vs Lucity's transparency",[504,554,555,559],{},[541,556,558],{"href":557},"\u002Fcomparisons\u002Fvs-heroku","Lucity vs Heroku",": The original PaaS meets its open-source successor",[504,561,562,566],{},[541,563,565],{"href":564},"\u002Fcomparisons\u002Fvs-vercel","Lucity vs Vercel",": Frontend-first vs full-stack",[504,568,569,573],{},[541,570,572],{"href":571},"\u002Fcomparisons\u002Fvs-fly-io","Lucity vs Fly.io",": Edge infrastructure vs ejectable Kubernetes",[504,575,576,580],{},[541,577,579],{"href":578},"\u002Fcomparisons\u002Fvs-coolify","Lucity vs Coolify",": Two open-source PaaS platforms, two architectures",{"title":582,"searchDepth":583,"depth":583,"links":584},"",2,[585,586,587],{"id":178,"depth":583,"text":179},{"id":492,"depth":583,"text":493},{"id":531,"depth":583,"text":532},"See how Lucity compares to Railway, Render, Heroku, Vercel, Fly.io, and Coolify. Open-source, ejectable, self-hostable Kubernetes PaaS.","md",{},{"title":592},"Overview","\u002Fcomparisons",{"title":166,"description":588},"2.comparisons\u002Findex","h2rBlUuwzfnC9pT55lP8uVLW22ijpXiSoXYnRnmZKBI",[598,601,604,607,610,613],{"path":543,"title":599,"description":600},"Lucity vs Railway: Open-Source Railway Alternative","Compare Lucity and Railway. Same deploy experience, but open-source, self-hostable, and ejectable to standard Kubernetes.",{"path":550,"title":602,"description":603},"Lucity vs Render: Open-Source Render Alternative","Compare Lucity and Render. Both simple to use, but Lucity is open-source, self-hostable, and ejectable to standard Kubernetes.",{"path":557,"title":605,"description":606},"Lucity vs Heroku: Open-Source Heroku Alternative","Compare Lucity and Heroku. Modern Kubernetes-native PaaS with ejectability, open-source, and no Salesforce tax.",{"path":564,"title":608,"description":609},"Lucity vs Vercel: Full-Stack Vercel Alternative","Compare Lucity and Vercel. Vercel excels at frontend, Lucity handles the full stack with databases, workers, and ejectability.",{"path":571,"title":611,"description":612},"Lucity vs Fly.io: Open-Source Fly.io Alternative","Compare Lucity and Fly.io. Fly.io runs apps at the edge on custom hardware. Lucity is open-source, self-hostable, and ejectable to standard Kubernetes.",{"path":578,"title":614,"description":615},"Lucity vs Coolify: Open-Source PaaS Comparison","Compare Lucity and Coolify, two open-source PaaS platforms with fundamentally different architectures. Docker Compose simplicity vs Kubernetes ejectability.",[617,620,622,625,628,631,634,637,640,643,646,649,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,695,699,703],{"path":6,"title":618,"description":619},"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":621,"title":9,"description":167},"\u002Fdocs\u002Fguides\u002F.navigation",{"path":16,"title":623,"description":624},"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":626,"description":627},"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":629,"description":630},"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":632,"description":633},"Deploy an Astro site","Deploy an Astro site on Lucity, static by default and server rendered when you add an adapter.",{"path":32,"title":635,"description":636},"Deploy an Express API","Deploy an Express API on Lucity. Three requirements, none of them platform-specific.",{"path":36,"title":638,"description":639},"Deploy a FastAPI service","Deploy a FastAPI service on Lucity. Detection is picky about layout, and the fix is one setting.",{"path":40,"title":641,"description":642},"Deploy a Django project","Deploy a Django project on Lucity, with migrations that run themselves and static files that do not.",{"path":44,"title":644,"description":645},"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":647,"description":648},"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":650,"description":651},"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":653},"Services are the deployable units of a project: what they are, how they are configured, and how they scale.",{"path":56,"title":55,"description":655},"How a deployment goes live on Lucity, and the ways to trigger one.",{"path":60,"title":59,"description":657},"How Lucity turns your source code into a container image.",{"path":64,"title":63,"description":659},"Configuration for your services: service variables, shared variables, and dynamic variables.",{"path":68,"title":67,"description":661},"Put a service on the internet. Use a platform hostname for quick tests, or a domain you own.",{"path":72,"title":71,"description":663},"Managed PostgreSQL databases, replicated and backed up, connected to your services without copying credentials.",{"path":76,"title":75,"description":665},"S3-compatible buckets for uploads, exports and anything else your service needs to keep.",{"path":80,"title":79,"description":667},"Persistent disks for services that need to keep state on the filesystem.",{"path":84,"title":83,"description":669},"A Redis®-compatible key-value store for caching, sessions and queues.",{"path":88,"title":87,"description":671},"Workspaces represent your organization in Lucity, with their own members, isolation and billing.",{"path":92,"title":91,"description":673},"Projects group services, databases and the environments they run in.",{"path":96,"title":95,"description":675},"Development, staging, production: isolated copies of the same application.",{"path":100,"title":99,"description":677},"Download a project as a Helm chart and run it on a Kubernetes cluster of your own.",{"path":104,"title":103,"description":679},"The GraphQL API behind the dashboard, with an interactive playground.",{"path":108,"title":107,"description":681},"Deploy and manage your services from a terminal or a CI pipeline.",{"path":112,"title":111,"description":683},"Deploy and manage your services from Claude Code, Codex, Cursor or any other MCP client.",{"path":116,"title":115,"description":685},"CPU and memory for every service, and disk usage for every volume.",{"path":120,"title":119,"description":687},"What your services print while they run, and the output of every deployment step.",{"path":124,"title":123,"description":689},"Plans, resource usage, the free trial, and what happens when a payment fails.",{"path":128,"title":127,"description":691},"Run the whole platform on a Kubernetes cluster you own, using the same two Helm charts we run ourselves.",{"path":693,"title":694,"description":167},"\u002Flegal\u002F.navigation","Legal",{"path":696,"title":697,"description":698},"\u002Flegal\u002Fdata-processing-agreement","Data Processing Agreement","How Lucity processes personal data on your behalf.",{"path":700,"title":701,"description":702},"\u002Flegal\u002Fprivacy-policy","Privacy Policy","How Lucity handles your data.",{"path":704,"title":705,"description":706},"\u002Flegal\u002Fterms-of-use","Terms of Use","Terms governing your use of Lucity.",1791216727875]