Learn how to migrate your application from Heroku to Laravel Cloud.Heroku is a general-purpose platform as a service (PaaS) that many Laravel teams have relied on over the years. However, it requires manual PHP configuration, buildpack management, and Procfiles, which add complexity your application doesn’t need. Laravel Cloud offers a simpler operational model with framework-aware defaults, more predictable costs, and no boilerplate setup.
Migrating from Heroku means replacing Heroku-specific concepts, such as Procfiles, buildpacks, dynos, and add-ons, with their Laravel Cloud equivalents.The migration guide walks you through exporting your Postgres database, provisioning your Laravel Cloud infrastructure, and switching your DNS without any downtime to your existing application.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Laravel Cloud","colors":{"primary":"#0057FF","light":"#71A8FF","dark":"#0057FF"},"logo":{"light":"https://mintcdn.com/cloud/MkfTsQSKGENWqY-2/logo/laravel-logo-light.png?fit=max\u0026auto=format\u0026n=MkfTsQSKGENWqY-2\u0026q=85\u0026s=f508d8e9c4e3c842e83d055cc376daa1","dark":"https://mintcdn.com/cloud/MkfTsQSKGENWqY-2/logo/laravel-logo-dark.png?fit=max\u0026auto=format\u0026n=MkfTsQSKGENWqY-2\u0026q=85\u0026s=fcfe00a4914f5e3ad791b606c3e75795","href":"https://cloud.laravel.com/"},"favicon":"https://mintcdn.com/cloud/83RcCEaWR6PzmMFO/favicons/favicon-dark.png?fit=max\u0026auto=format\u0026n=83RcCEaWR6PzmMFO\u0026q=85\u0026s=edd5608e08efe6ae6a4ca1b44232d2af","navbar":{"links":[],"primary":{"type":"button","label":"Get Started","href":"https://cloud.laravel.com"}},"footer":{"socials":{"x":"https://x.com/laravel","github":"https://github.com/laravel","discord":"https://discord.gg/laravel","youtube":"https://www.youtube.com/laravelphp"}},"seo":{"metatags":{"robots":"noindex"}},"integrations":{"fathom":{"siteId":"KZRWMQWT"}},"banner":{"content":"Deploy Next and Nuxt frontends alongside your Laravel apps, all from one unified platform. \u003ca href='https://laravel.com/blog/deploy-nextjs-and-nuxt-apps-on-laravel-cloud'>Learn more →\u003c/a>","dismissible":true},"contextual":{"options":["copy","chatgpt","claude","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Community","icon":"discord","href":"https://discord.gg/laravel"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cloud","hasAudioNarration":false,"actualSubdomain":"cloud","customDomains":["cloud.laravel.com"],"gitSource":{"type":"github","owner":"laravel","repo":"cloud-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae8a8476bec035f345a037a","collectionId":"fd9a4345-b3eb-4dc3-ba38-99dcf67f5dbb","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae8a8476bec035f345a037a"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae8a8476bec035f345a037a","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API","count":130},{"language":"default","tag":"Endpoints","count":126},{"language":"default","tag":"Documentation","count":60},{"language":"default","tag":"Knowledge Base","count":21},{"language":"default","tag":"Basics","count":17},{"language":"default","tag":"Environments","count":15},{"language":"default","tag":"Instances","count":14},{"language":"default","tag":"Private Cloud","count":10},{"language":"default","tag":"Caches","count":9},{"language":"default","tag":"Deploy guides","count":8}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":false,"deflection":{"enabled":false,"showHelpButton":false}},"basePath":"/cloud/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"/* latin-ext */\n@font-face {\n font-family: 'Instrument Sans';\n font-style: normal;\n font-weight: 400 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/instrumentsans/v4/pxiTypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr0She1YmV.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Instrument Sans';\n font-style: normal;\n font-weight: 400 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/instrumentsans/v4/pxiTypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr0SZe1Q.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\nbody{font-family:\"Instrument Sans\";font-weight:400}h1,h2,h3,h4{font-family:\"Instrument Sans\"!important;letter-spacing:-.025em!important}code,pre{font-family:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace}.font-semibold,b,h1,h2,h3,h4,strong{font-weight:500!important}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500!important;color:rgb(var(--primary))!important}.dark .prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:rgb(var(--primary-light))!important}.table-auto{table-layout:auto}table.table-fixed{table-layout:fixed!important}table{table-layout:auto!important;display:table}th{text-align:left}td>p.icon{margin:0}.pr-16{padding-right:4em}.max-w-none{max-width:none!important}.align-top{vertical-align:top}.italic{font-style:italic}.pr-20{padding-right:5rem}.max-h-50vh{max-height:50vh}.select-arrow{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e\");background-size:1.5em 1.5em;background-position:right .5rem center;background-repeat:no-repeat}#banner a{color:rgb(var(--white))!important;white-space:nowrap}#banner>div>p{white-space:normal;padding-top:.125rem;padding-bottom:.125rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:3;-webkit-line-clamp:3}#banner:has(>button){padding-right:2.5rem}@media screen and (min-width:768px){#banner{height:auto}#banner:has(>button){padding-left:2.5rem}}#topbar-cta-button a>span:first-child{background-color:rgb(22 25 30)}.dark #topbar-cta-button a>span:first-child{background-color:rgb(255 255 255)}.dark #topbar-cta-button a,.dark #topbar-cta-button a *{color:rgb(22 25 30)!important}"}],"page":{"pagePath":"migrate-from-heroku","slug":"/migrate-from-heroku","pageMetadata":{"title":"Migrate from Heroku","description":"Migrate your Laravel application from Heroku to Laravel Cloud with step-by-step deployment guidance.","href":"/migrate-from-heroku"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Migrate your Laravel application from Heroku to Laravel Cloud with step-by-step deployment guidance.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,..._provideComponents(),...props.components},{Heading,Note}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsxs(Note,{children:[`This guide is for Laravel applications. For Ruby on Rails, see `,_jsx(_components.a,{href:`/knowledge-base/migrating-rails-to-cloud#move-from-heroku`,children:`Migrate Rails to Cloud`}),`.`]}),`\n`,_jsx(_components.p,{children:`Learn how to migrate your application from Heroku to Laravel Cloud.`}),`\n`,_jsx(_components.p,{children:`Heroku is a general-purpose platform as a service (PaaS) that many Laravel teams have relied on over the years. However, it requires manual PHP configuration, buildpack management, and Procfiles, which add complexity your application doesn’t need. Laravel Cloud offers a simpler operational model with framework-aware defaults, more predictable costs, and no boilerplate setup.`}),`\n`,_jsx(Heading,{level:`3`,id:`how-to-migrate`,children:`How to migrate`}),`\n`,_jsx(_components.p,{children:`Migrating from Heroku means replacing Heroku-specific concepts, such as Procfiles, buildpacks, dynos, and add-ons, with their Laravel Cloud equivalents.`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.a,{href:`https://laravel.com/cloud/migrate-heroku-cloud`,children:`migration guide`}),` walks you through exporting your Postgres database, provisioning your Laravel Cloud infrastructure, and switching your DNS without any downtime to your existing application.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Migrate from Heroku","description":"Migrate your Laravel application from Heroku to Laravel Cloud with step-by-step deployment guidance.","href":"/migrate-from-heroku"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How to migrate","slug":"how-to-migrate","depth":3,"children":[]}],"codeExamples":{}},"jsLinks":["/cloud/docs/_mintlify/custom/cloud/412bdbfbeb58e5da/gtag.js","/cloud/docs/_mintlify/custom/cloud/1a6e9e638535d772/plain.js","/cloud/docs/_mintlify/custom/cloud/f2ef70ddf7841ac3/rudderstack.js","/cloud/docs/_mintlify/custom/cloud/d55d837bfb92372f/scripts/fetch-ips.js"],"subdomain":"cloud","siteName":"Laravel Cloud","title":"Migrate from Heroku - Laravel Cloud","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-27T13:56:44.783Z","originalFileLocation":"migrate-from-heroku.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Migrate your Laravel application from Heroku to Laravel Cloud with step-by-step deployment guidance.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Laravel Cloud\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Migrate from Heroku - Laravel Cloud\">\u003cmeta data-mint-head property=\"og:description\" content=\"Migrate your Laravel application from Heroku to Laravel Cloud with step-by-step deployment guidance.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Laravel Cloud\">\u003cmeta data-mint-head property=\"og:url\" content=\"/cloud/docs/migrate-from-heroku\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cloud.mintlify.app/_mintlify/api/og/v2?division=Migration+guides\u0026amp;title=Migrate+from+Heroku\u0026amp;description=Migrate+your+Laravel+application+from+Heroku+to+Laravel+Cloud+with+step-by-step+deployment+guidance.\u0026amp;theme=8d4b254afde5db5ac1120ea2\u0026amp;signature=fae8eb3560f4595314ca26142200013fe20024d6a0347d8732d1c200d416bc8b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Migrate from Heroku - Laravel Cloud\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Migrate your Laravel application from Heroku to Laravel Cloud with step-by-step deployment guidance.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cloud.mintlify.app/_mintlify/api/og/v2?division=Migration+guides\u0026amp;title=Migrate+from+Heroku\u0026amp;description=Migrate+your+Laravel+application+from+Heroku+to+Laravel+Cloud+with+step-by-step+deployment+guidance.\u0026amp;theme=8d4b254afde5db5ac1120ea2\u0026amp;signature=fae8eb3560f4595314ca26142200013fe20024d6a0347d8732d1c200d416bc8b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Laravel Cloud\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0057FF\">\u003clink data-mint-head rel=\"canonical\" href=\"/cloud/docs/migrate-from-heroku\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/cloud/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/cloud/docs/migrate-from-heroku.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://cloud.laravel.com/#organization\",\"name\":\"Laravel Cloud\",\"url\":\"https://cloud.laravel.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cloud/MkfTsQSKGENWqY-2/logo/laravel-logo-light.png?fit=max\u0026auto=format\u0026n=MkfTsQSKGENWqY-2\u0026q=85\u0026s=f508d8e9c4e3c842e83d055cc376daa1\"}},{\"@type\":\"WebSite\",\"@id\":\"/cloud/docs#website\",\"name\":\"Laravel Cloud\",\"url\":\"/cloud/docs\",\"publisher\":{\"@id\":\"https://cloud.laravel.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"/cloud/docs/migrate-from-heroku#webpage\",\"url\":\"/cloud/docs/migrate-from-heroku\",\"name\":\"Migrate from Heroku\",\"description\":\"Migrate your Laravel application from Heroku to Laravel Cloud with step-by-step deployment guidance.\",\"dateModified\":\"2026-10-27T13:56:44.783Z\",\"isPartOf\":{\"@id\":\"/cloud/docs#website\"},\"breadcrumb\":{\"@id\":\"/cloud/docs/migrate-from-heroku#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"/cloud/docs/migrate-from-heroku#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Laravel Cloud\",\"item\":\"/cloud/docs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Migrate from Heroku\",\"item\":\"/cloud/docs/migrate-from-heroku\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"/cloud/docs/migrate-from-heroku#article\",\"headline\":\"Migrate from Heroku\",\"name\":\"Migrate from Heroku\",\"description\":\"Migrate your Laravel application from Heroku to Laravel Cloud with step-by-step deployment guidance.\",\"url\":\"/cloud/docs/migrate-from-heroku\",\"mainEntityOfPage\":{\"@id\":\"/cloud/docs/migrate-from-heroku#webpage\"},\"dateModified\":\"2026-10-27T13:56:44.783Z\",\"publisher\":{\"@id\":\"https://cloud.laravel.com/#organization\"},\"isPartOf\":{\"@id\":\"/cloud/docs#website\"}}]}\u003c/script>","siteName":"Laravel Cloud","nav":{"global":{"anchors":[{"anchor":"Community","icon":"discord","href":"https://discord.gg/laravel"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/intro"}]},{"tab":"Knowledge Base","groups":[{"group":"Getting started","pages":[{"title":"Knowledge base","sidebarTitle":"Introduction","href":"/knowledge-base/intro"}]},{"group":"Guides","pages":[{"title":"Manage robots.txt","sidebarTitle":"Configuring robots.txt to Control Search Engine Crawling","href":"/knowledge-base/managing-robots"},{"title":"Deploy Statamic on Laravel Cloud","sidebarTitle":"Deploying Statamic","href":"/knowledge-base/statamic-on-cloud"},{"title":"Generating PDFs","sidebarTitle":"Generating PDFs","href":"/knowledge-base/generating-pdfs"},{"title":"How much memory do your queue workers need?","sidebarTitle":"Sizing Queue Worker Memory","href":"/knowledge-base/sizing-queue-worker-memory"},{"title":"Understanding logs","sidebarTitle":"Understanding logs","href":"/knowledge-base/logs"},{"title":"Upgrading from MySQL 8.0 to MySQL 8.4","sidebarTitle":"Upgrading from MySQL 8.0 to 8.4","href":"/knowledge-base/upgrade-mysql-to-84"},{"title":"Using Yarn, PNPM, or Bun","sidebarTitle":"Using Yarn, PNPM, or Bun","description":"Learn how to use PNPM, Yarn, or Bun with Laravel Cloud and compare package managers.","href":"/knowledge-base/using-yarn-bun-pnpm"}]},{"group":"Migration guides","icon":"folder","pages":[{"title":"Migrate from Heroku","href":"/migrate-from-heroku"},{"title":"Migrate Rails to Cloud","sidebarTitle":"Rails migration","description":"Move a Rails application from Heroku, AWS, or a Kamal deployment to Laravel Cloud.","href":"/knowledge-base/migrating-rails-to-cloud"},{"title":"Migrate from Vapor","mode":"wide","href":"/migrating-from-vapor"},{"title":"Migrate an application to a different region","sidebarTitle":"Migrate app to a different region","href":"/knowledge-base/migrate-to-different-region"},{"title":"Migrate MySQL to PostgreSQL","sidebarTitle":"Migrate MySQL to PostgreSQL","href":"/knowledge-base/migrating-mysql-to-postgresql"},{"title":"Migrate from Redis by Upstash to Laravel Valkey","sidebarTitle":"Migrate Upstash to Valkey","href":"/knowledge-base/migrate-upstash-to-valkey"},{"title":"Migrating Object Storage to Laravel Cloud","sidebarTitle":"Migrate Object Storage","href":"/knowledge-base/migrating-object-storage"},{"title":"Migrate from queue clusters","sidebarTitle":"Migrate queue clusters","href":"/knowledge-base/migrate-from-queue-clusters"}]},{"group":"Troubleshooting","pages":[{"title":"Fix 502 Bad Gateway or internal server errors","sidebarTitle":"502 Bad Gateway","href":"/knowledge-base/502-error"},{"title":"Domain Verification","sidebarTitle":"Domain Verification","href":"/knowledge-base/domain-verification"},{"title":"Fix environment not sleeping issues","sidebarTitle":"Environment not sleeping","href":"/knowledge-base/environment-not-sleeping"},{"title":"Fix production command failures","sidebarTitle":"Fix production command failures","href":"/knowledge-base/command-failed-prod-app"},{"title":"SQLite Support","sidebarTitle":"SQLite Support","href":"/knowledge-base/sqlite"}]}]},{"tab":"API","icon":"square-terminal","pages":[{"title":"API","href":"/api/introduction"}]}]},"basePath":"","title":"Migrate from Heroku - Laravel Cloud","buildId":"dpl_6cCEiK8XNNvaLBBkWzcBhdE9QfLC","deploymentId":"dpl_6cCEiK8XNNvaLBBkWzcBhdE9QfLC","dynamics":["10e4515597"],"chunks":["BannerMarkdown-CGuHEvQW.js","dist-B66mVNPp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-BcghKhHb.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}