Self-hosting: Rode seu projeto Lovable Cloud em qualquer lugar
Publique e gerencie seus projetos Lovable Cloud na sua própria infraestrutura
Lovable Cloud foi projetado para ser o lugar mais fácil, rápido e agradável para construir. A migração é possível porque queremos que você continue conosco por opção, não por obrigação.Este guia explica como você pode fazer a hospedagem por conta própria (self-hosting) e migrar seu projeto Lovable Cloud para outro provedor, como o Supabase.
Você é o proprietário do seu código.
Use nossa Integração com GitHub para exportar seu código a qualquer momento. Clone, exporte e faça self-hosting sem restrições.
Você é o proprietário dos seus dados.
Seu banco de dados, armazenamento e configurações podem ser exportados ou migrados para outro provedor.
Lovable é baseada em tecnologias de código aberto.
Tudo é construído sobre padrões abertos e tecnologias de código aberto. Sem frameworks proprietários, sem dependências ocultas.
Nós conquistamos sua confiança por meio da qualidade, não do controle.Lovable Cloud foi projetado para oferecer velocidade, simplicidade e confiabilidade. Você pode criar, hospedar e escalar com confiança, sabendo que pode levar seu Projeto com você.
Inclui tabelas, colunas, índices, políticas de RLS, funções, gatilhos
Buckets de armazenamento
Automático via migrações SQL
Inclui políticas de acesso
Provedores de autenticação
Manual
Reconfigure a autenticação (por exemplo, Google OAuth, GitHub) no seu novo ambiente de hospedagem
Variáveis de ambiente e segredos
Manual
Reconfigure quaisquer chaves de API, tokens ou credenciais para serviços externos (por exemplo, Stripe) no seu novo ambiente de hospedagem
Dados (conteúdo das tabelas)
Manual
Exportar/importar como CSV
Arquivos de armazenamento
Manual
Baixar/fazer upload manualmente
Contas de usuário
Manual, parcial
Você pode exportar os dados de usuário do banco de dados, mas não pode exportar as senhas dos usuários, então é necessário iniciar um fluxo de redefinição de senha. Recomendamos planejar a migração antes de começar a receber usuários reais.
Exemplo: Migrar seu Projeto no Lovable Cloud para o Supabase
Você pode se conectar a qualquer solução de backend com algum conhecimento técnico prévio. As etapas abaixo orientam você sobre como migrar seu Projeto no Lovable Cloud para o Supabase. Para mais informações sobre etapas específicas do Supabase, consulte a documentação do Supabase.
Depois de migrar seu projeto para sua própria instância do Supabase, você deve continuar o desenvolvimento no seu ambiente local ou em um IDE de sua preferência. Seu projeto no Lovable permanece conectado ao banco de dados original do Lovable Cloud, portanto, quaisquer alterações feitas no Lovable após a migração não serão sincronizadas com sua nova configuração do Supabase.
Cada projeto do Lovable Cloud inclui arquivos de migração SQL no diretório supabase/migrations/.Execute-os em ordem cronológica, com base no carimbo de data e hora no nome do arquivo. Eles estão organizados do mais antigo para o mais recente. Por exemplo:
20251008155159_[hash].sql # primeiro - mais antigo20251008155215_[hash].sql # segundo
Para cada arquivo de migração no seu projeto Lovable Cloud, siga as etapas abaixo:
Copie todo o conteúdo SQL de cada arquivo de migração.
Cole-o no editor de SQL do seu novo projeto Supabase.
Execute e aguarde a mensagem de sucesso.
Se uma migração falhar, verifique a ordem das migrações, as dependências das tabelas e possíveis erros de sintaxe em SQL.
Exporte os dados do seu Projeto Lovable Cloud e depois importe-os manualmente para o seu novo Projeto Supabase.Exporte cada tabela com dados do seu Projeto Lovable Cloud:
Vá para Cloud → Database → Table.
Clique em Export CSV.
Salve o arquivo.
Importe os arquivos CSV para as tabelas correspondentes no seu novo Projeto Supabase:
Vá para Table Editor.
Para cada tabela, clique em Insert → Import data from CSV.
Se o seu projeto Lovable Cloud exige autenticação, você precisa reconfigurar manualmente os provedores de autenticação no seu novo projeto Supabase.
No seu novo projeto Supabase, vá para Authentication → Sign In / Providers.
Ative e configure cada provedor.
Nas configurações do seu aplicativo OAuth (por exemplo, Google Console, GitHub),
atualize as URLs de redirecionamento para usar a URL do seu novo projeto Supabase.
Se você estiver usando algum serviço externo (por exemplo, Stripe) no seu projeto Lovable Cloud, será necessário reconfigurar manualmente as chaves de API, tokens e credenciais no seu novo projeto Supabase.
No seu novo projeto Supabase, vá em Edge Functions → Manage Secrets.
Adicione todas as chaves de API ou credenciais de serviços externos necessárias.
Depois de concluir todas as etapas, seu app estará sendo executado inteiramente no backend do Supabase. Certifique-se de que tudo está funcionando, por exemplo:
O app carrega sem erros
Você consegue criar e ler registros no banco de dados
A autenticação está funcionando
Os uploads/downloads no Storage são concluídos com sucesso
Para desenvolvedores que se sentem à vontade com a linha de comando:
# 1. Instale a CLI do Supabasenpm install -g @supabase/cli# oubrew install supabase/tap/supabase# 2. Atualize os arquivos de configuração (.env + supabase/config.toml)# 3. Vincule ao seu novo projeto do Supabasesupabase loginsupabase link --project-ref your-new-project-id# 4. Envie todas as migraçõessupabase db push# 5. Verifique o schemasupabase db diff
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Lovable Documentation","description":"Lovable Documentation — Build full-stack websites with AI using natural language. Explore Lovable features, integrations, tutorials, and best practices.","colors":{"primary":"#0095FF","light":"#1AA3FF","dark":"#0084E6"},"logo":{"light":"https://mintcdn.com/generaltranslation-d8a08cd1/At48MABj-G93zw7Y/assets/logo/logoblack.svg?fit=max\u0026auto=format\u0026n=At48MABj-G93zw7Y\u0026q=85\u0026s=ca1f70ffb8cc99cf980d91ff6495d89f","dark":"https://mintcdn.com/generaltranslation-d8a08cd1/At48MABj-G93zw7Y/assets/logo/logowhite.svg?fit=max\u0026auto=format\u0026n=At48MABj-G93zw7Y\u0026q=85\u0026s=fef50f97d61a559e9cd2e1e8995e6350","href":"https://lovable.dev/"},"favicon":"/assets/logo/favicon.ico","navbar":{"links":[{"label":"Support","icon":"message","href":"https://lovable.dev/support"},{"label":"Blog","icon":"blog","href":"https://lovable.dev/blog"}]},"footer":{"socials":{"x":"https://x.com/Lovable","github":"https://github.com/lovablelabs","linkedin":"https://linkedin.com/company/lovable-dev","youtube":"https://youtube.com/@lovable","discord":"https://discord.gg/lovable-dev","reddit":"https://www.reddit.com/r/lovable/"}},"seo":{"metatags":{"og:image":"/assets/logo/opengraph-image.png","canonical":"https://docs.lovable.dev"},"indexing":"all"},"contextual":{"options":["copy"]},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":"introduction/welcome"},{"language":"es","href":"es/introduction/welcome"},{"language":"ja","href":"ja/introduction/welcome"},{"language":"zh","href":"zh/introduction/welcome"},{"language":"fr","href":"fr/introduction/welcome"},{"language":"de","href":"de/introduction/welcome"},{"language":"pt-BR","href":"pt-BR/introduction/welcome"},{"language":"it","href":"it/introduction/welcome"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"generaltranslation-d8a08cd1","hasAudioNarration":false,"actualSubdomain":"generaltranslation-d8a08cd1","customDomains":["lovable.generaltranslation.app"],"gitSource":{"type":"github","owner":"gt-onboarding","repo":"lovable","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6ae942e94c7ebc4d7c1907d3:success","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"en","tag":"Integrations","count":22},{"language":"de","tag":"Integrationen","count":22},{"language":"es","tag":"Integraciones","count":22},{"language":"fr","tag":"Intégrations","count":22},{"language":"it","tag":"Integrazioni","count":22},{"language":"ja","tag":"連携","count":22},{"language":"pt-BR","tag":"Integrações","count":22},{"language":"zh","tag":"集成","count":22},{"language":"en","tag":"Features","count":16},{"language":"de","tag":"Funktionen","count":16},{"language":"es","tag":"Funciones","count":16},{"language":"fr","tag":"Fonctionnalités","count":16},{"language":"it","tag":"Funzionalità","count":16},{"language":"ja","tag":"機能","count":16},{"language":"pt-BR","tag":"Funcionalidades","count":16},{"language":"zh","tag":"功能特性","count":16},{"language":"en","tag":"Tips \u0026 Tricks","count":11},{"language":"de","tag":"Tipps \u0026 Tricks","count":11},{"language":"es","tag":"Consejos y trucos","count":11},{"language":"fr","tag":"Conseils et astuces","count":11},{"language":"it","tag":"Consigli e trucchi","count":11},{"language":"ja","tag":"ヒントとテクニック","count":11},{"language":"pt-BR","tag":"Dicas e truques","count":11},{"language":"zh","tag":"提示和技巧","count":11},{"language":"en","tag":"Introduction","count":4},{"language":"de","tag":"Einführung","count":4},{"language":"es","tag":"Introducción","count":4},{"language":"fr","tag":"Introduction","count":4},{"language":"it","tag":"Introduzione","count":4},{"language":"ja","tag":"はじめに","count":4},{"language":"pt-BR","tag":"Introdução","count":4},{"language":"zh","tag":"简介","count":4},{"language":"en","tag":"Prompt engineering","count":3},{"language":"de","tag":"Engineering von Eingabeaufforderungen","count":3},{"language":"es","tag":"Ingeniería de instrucciones","count":3},{"language":"fr","tag":"Conception de Prompt","count":3},{"language":"it","tag":"Ingegneria delle istruzioni","count":3},{"language":"ja","tag":"プロンプトエンジニアリング","count":3},{"language":"pt-BR","tag":"Engenharia de Prompts de IA","count":3},{"language":"zh","tag":"提示工程","count":3},{"language":"en","tag":"About integrations","count":2},{"language":"en","tag":"Use cases","count":2},{"language":"de","tag":"Über Integrationen","count":2},{"language":"de","tag":"Anwendungsfälle","count":2},{"language":"es","tag":"Sobre las integraciones","count":2},{"language":"es","tag":"Casos de uso","count":2},{"language":"fr","tag":"À propos des intégrations","count":2},{"language":"fr","tag":"Cas d’utilisation","count":2},{"language":"it","tag":"Informazioni sulle integrazioni","count":2},{"language":"it","tag":"Casi d'uso","count":2},{"language":"ja","tag":"連携について","count":2},{"language":"ja","tag":"ユースケース","count":2},{"language":"pt-BR","tag":"Sobre as integrações","count":2},{"language":"pt-BR","tag":"Casos de uso","count":2},{"language":"zh","tag":"关于集成","count":2},{"language":"zh","tag":"应用场景","count":2},{"language":"en","tag":"Changelog","count":1},{"language":"en","tag":"Glossary","count":1},{"language":"de","tag":"Versionshinweise","count":1},{"language":"de","tag":"Glossar","count":1},{"language":"es","tag":"Registro de cambios","count":1},{"language":"es","tag":"Glosario","count":1},{"language":"fr","tag":"Journal des mises à jour","count":1},{"language":"fr","tag":"Glossaire","count":1},{"language":"it","tag":"Cronologia delle modifiche","count":1},{"language":"it","tag":"Glossario","count":1},{"language":"ja","tag":"変更履歴","count":1},{"language":"ja","tag":"用語集","count":1},{"language":"pt-BR","tag":"Registro de alterações","count":1},{"language":"pt-BR","tag":"Glossário","count":1},{"language":"zh","tag":"更新日志","count":1},{"language":"zh","tag":"术语表","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"rbac-expansion","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":"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":"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":"editor-metadata","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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"assets/css/styles.css","content":".supabase{color:#59cf8c}"}],"page":{"pagePath":"pt-BR/tips-tricks/self-hosting","slug":"/pt-BR/tips-tricks/self-hosting","pageMetadata":{"title":"Self-hosting: Rode seu projeto Lovable Cloud em qualquer lugar","sidebarTitle":"Self-hosting","description":"Publique e gerencie seus projetos Lovable Cloud na sua própria infraestrutura","icon":"door-open","href":"/pt-BR/tips-tricks/self-hosting","hidden":false},"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: \"Publique e gerencie seus projetos Lovable Cloud na sua própria infraestrutura\"\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`,br:`br`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://docs.lovable.dev/features/cloud`,children:`Lovable Cloud`}),` foi projetado para ser o lugar mais fácil, rápido e agradável para construir. A migração é possível porque queremos que você continue conosco por opção, não por obrigação.`]}),`\n`,_jsxs(_components.p,{children:[`Este guia explica como você pode fazer a hospedagem por conta própria (self-hosting) e migrar seu projeto Lovable Cloud para outro provedor, como o `,_jsx(_components.a,{href:`http://supabase.com/`,children:`Supabase`}),`.`]}),`\n`,_jsx(`div`,{id:`key-principles`,children:_jsx(Heading,{level:`2`,id:`princípios-fundamentais`,children:`Princípios fundamentais`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Você é o proprietário do seu código`}),`. `,_jsx(_components.br,{}),`\n`,`Use nossa `,_jsx(_components.a,{href:`https://docs.lovable.dev/integrations/github`,children:`Integração com GitHub`}),` para exportar seu código a qualquer momento. Clone, exporte e faça self-hosting sem restrições.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Você é o proprietário dos seus dados`}),`. `,_jsx(_components.br,{}),`\n`,`Seu banco de dados, armazenamento e configurações podem ser exportados ou migrados para outro provedor.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Lovable é baseada em tecnologias de código aberto`}),`. `,_jsx(_components.br,{}),`\n`,`Tudo é construído sobre padrões abertos e tecnologias de código aberto. Sem frameworks proprietários, sem dependências ocultas.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Nós conquistamos sua confiança por meio da qualidade, não do controle`}),`.`]}),`\n`,_jsx(_components.p,{children:`Lovable Cloud foi projetado para oferecer velocidade, simplicidade e confiabilidade. Você pode criar, hospedar e escalar com confiança, sabendo que pode levar seu Projeto com você.`}),`\n`]}),`\n`]}),`\n`,_jsx(`div`,{id:`migration-overview`,children:_jsx(Heading,{level:`2`,id:`visão-geral-da-migração`,children:`Visão geral da migração`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Componentes do app`})}),_jsx(_components.th,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Método de migração`})}),_jsx(_components.th,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Notas`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Esquema do banco de dados`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Automático via migrações SQL`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Inclui tabelas, colunas, índices, políticas de RLS, funções, gatilhos`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Buckets de armazenamento`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Automático via migrações SQL`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Inclui políticas de acesso`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Provedores de autenticação`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manual`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Reconfigure a autenticação (por exemplo, Google OAuth, GitHub) no seu novo ambiente de hospedagem`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Variáveis de ambiente e segredos`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manual`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Reconfigure quaisquer chaves de API, tokens ou credenciais para serviços externos (por exemplo, Stripe) no seu novo ambiente de hospedagem`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Dados (conteúdo das tabelas)`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manual`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Exportar/importar como CSV`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Arquivos de armazenamento`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manual`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Baixar/fazer upload manualmente`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Contas de usuário`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manual, parcial`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Você pode exportar os dados de usuário do banco de dados, mas não pode exportar as senhas dos usuários, então é necessário iniciar um fluxo de redefinição de senha. Recomendamos planejar a migração antes de começar a receber usuários reais.`})]})]})]}),`\n`,_jsx(`div`,{id:`example-move-your-lovable-cloud-project-to-supabase`,children:_jsx(Heading,{level:`2`,id:`exemplo-migrar-seu-projeto-no-lovable-cloud-para-o-supabase`,children:`Exemplo: Migrar seu Projeto no Lovable Cloud para o Supabase`})}),`\n`,_jsxs(_components.p,{children:[`Você pode se conectar a qualquer solução de backend com algum conhecimento técnico prévio. As etapas abaixo orientam você sobre como migrar seu Projeto no Lovable Cloud para o Supabase. Para mais informações sobre etapas específicas do Supabase, consulte a `,_jsx(_components.a,{href:`https://supabase.com/docs`,children:`documentação do Supabase`}),`.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Depois de migrar seu projeto para sua própria instância do Supabase, você deve continuar o desenvolvimento no seu ambiente local ou em um IDE de sua preferência. Seu projeto no Lovable permanece conectado ao banco de dados original do Lovable Cloud, portanto, quaisquer alterações feitas no Lovable após a migração `,_jsx(_components.strong,{children:`não`}),` serão sincronizadas com sua nova configuração do Supabase.`]})}),`\n`,_jsx(`div`,{id:`1-create-a-new-supabase-project`,children:_jsx(Heading,{level:`3`,id:`1-crie-um-novo-projeto-supabase`,children:`1. Crie um novo projeto Supabase`})}),`\n`,_jsx(_components.p,{children:`Siga as etapas abaixo para criar um novo projeto no Supabase.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Acesse `,_jsx(_components.a,{href:`https://supabase.com`,children:`supabase.com`}),` → `,_jsx(_components.strong,{children:`New project`})]}),`\n`,_jsxs(_components.li,{children:[`Escolha sua organização e preencha:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Project name:`}),` qualquer nome`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Database password:`}),` uma senha forte`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Region:`}),` a mais próxima dos seus usuários`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`Create new project`}),` e aguarde cerca de 2 minutos até o projeto ser inicializado.`]}),`\n`,_jsxs(_components.li,{children:[`Nas configurações do seu novo projeto no Supabase, `,_jsx(_components.strong,{children:`salve estes valores`}),`:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Project ID`})}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`Public API Key`}),` (anon key)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`Project URL`}),`: `,_jsx(_components.code,{children:`https://[your-project-id].supabase.co`})]}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsx(`div`,{id:`2-update-environment-variables`,children:_jsx(Heading,{level:`3`,id:`2-atualize-variáveis-de-ambiente`,children:`2. Atualize variáveis de ambiente`})}),`\n`,_jsxs(_components.p,{children:[`Substitua os valores do Lovable Cloud pelas novas credenciais do Supabase no seu arquivo `,_jsx(_components.code,{children:`.env`}),`.`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`No seu projeto Lovable, vá para `,_jsx(_components.strong,{children:`Code.`})]}),`\n`,_jsxs(_components.li,{children:[`Localize o arquivo `,_jsx(_components.code,{children:`.env`}),`.`]}),`\n`,_jsx(_components.li,{children:`Atualize os valores do Lovable Cloud com as novas credenciais do Supabase:`}),`\n`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`4`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`VITE_SUPABASE_PROJECT_ID=\"your-new-project-id\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`VITE_SUPABASE_PUBLISHABLE_KEY=\"your-new-anon-key\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`VITE_SUPABASE_URL=\"https://your-new-project-id.supabase.co\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.ol,{start:`4`,children:[`\n`,_jsx(_components.li,{children:`Salve as alterações.`}),`\n`]}),`\n`,_jsx(`div`,{id:`3-update-supabase-configuration`,children:_jsx(Heading,{level:`3`,id:`3-atualizar-a-configuração-do-supabase`,children:`3. Atualizar a configuração do Supabase`})}),`\n`,_jsxs(_components.p,{children:[`Substitua o ID de projeto do Lovable Cloud pelo novo ID de projeto do Supabase no arquivo `,_jsx(_components.code,{children:`supabase/config.toml`}),`.`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`No seu projeto Lovable, acesse `,_jsx(_components.strong,{children:`Code.`})]}),`\n`,_jsxs(_components.li,{children:[`Localize o arquivo `,_jsx(_components.code,{children:`supabase/config.toml`}),`.`]}),`\n`,_jsx(_components.li,{children:`Atualize o ID de projeto do Lovable Cloud para o novo ID de projeto do Supabase:`}),`\n`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`project_id = \"your-new-project-id\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.ol,{start:`4`,children:[`\n`,_jsx(_components.li,{children:`Salve as alterações.`}),`\n`]}),`\n`,_jsx(`div`,{id:`4-run-database-migrations`,children:_jsx(Heading,{level:`3`,id:`4-execute-as-migrações-de-banco-de-dados`,children:`4. Execute as migrações de banco de dados`})}),`\n`,_jsxs(_components.p,{children:[`Cada projeto do Lovable Cloud inclui arquivos de migração SQL no diretório `,_jsx(_components.code,{children:`supabase/migrations/`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Execute-os em `,_jsx(_components.strong,{children:`ordem cronológica`}),`, com base no carimbo de data e hora no nome do arquivo. Eles estão organizados do mais antigo para o mais recente. Por exemplo:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`20251008155159_[hash].sql # primeiro - mais antigo`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`20251008155215_[hash].sql # segundo`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Para cada arquivo de migração no seu projeto Lovable Cloud, siga as etapas abaixo:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Copie todo o conteúdo SQL de cada arquivo de migração.`}),`\n`,_jsxs(_components.li,{children:[`Cole-o no `,_jsx(_components.strong,{children:`editor de SQL`}),` do seu novo projeto Supabase.`]}),`\n`,_jsx(_components.li,{children:`Execute e aguarde a mensagem de sucesso.`}),`\n`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Se uma migração falhar, verifique a ordem das migrações, as dependências das tabelas e possíveis erros de sintaxe em SQL.`})}),`\n`,_jsx(`div`,{id:`5-export-and-import-your-data`,children:_jsx(Heading,{level:`3`,id:`5-exporte-e-importe-seus-dados`,children:`5. Exporte e importe seus dados`})}),`\n`,_jsx(_components.p,{children:`Exporte os dados do seu Projeto Lovable Cloud e depois importe-os manualmente para o seu novo Projeto Supabase.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Exporte cada tabela com dados do seu Projeto Lovable Cloud:`})}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Vá para `,_jsx(_components.strong,{children:`Cloud → Database → Table`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`Export CSV`}),`.`]}),`\n`,_jsx(_components.li,{children:`Salve o arquivo.`}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Importe os arquivos CSV para as tabelas correspondentes no seu novo Projeto Supabase:`})}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Vá para `,_jsx(_components.strong,{children:`Table Editor`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Para cada tabela, clique em `,_jsx(_components.strong,{children:`Insert → Import data from CSV`}),`.`]}),`\n`,_jsx(_components.li,{children:`Mapeie as colunas corretamente.`}),`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`Import data`}),`.`]}),`\n`]}),`\n`,_jsx(`div`,{id:`6-reconfigure-authentication`,children:_jsx(Heading,{level:`3`,id:`6-reconfigurar-autenticação`,children:`6. Reconfigurar autenticação`})}),`\n`,_jsx(_components.p,{children:`Se o seu projeto Lovable Cloud exige autenticação, você precisa reconfigurar manualmente os provedores de autenticação no seu novo projeto Supabase.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`No seu novo projeto Supabase, vá para `,_jsx(_components.strong,{children:`Authentication → Sign In / Providers`}),`.`]}),`\n`,_jsx(_components.li,{children:`Ative e configure cada provedor.`}),`\n`,_jsxs(_components.li,{children:[`Nas configurações do seu aplicativo OAuth (por exemplo, Google Console, GitHub),`,_jsx(_components.br,{}),`\n`,`atualize as `,_jsx(_components.strong,{children:`URLs de redirecionamento`}),` para usar a URL do seu novo projeto Supabase.`]}),`\n`]}),`\n`,_jsx(`div`,{id:`7-migrate-storage-files`,children:_jsx(Heading,{level:`3`,id:`7-migrar-arquivos-de-armazenamento`,children:`7. Migrar arquivos de armazenamento`})}),`\n`,_jsx(_components.p,{children:`Baixe qualquer arquivo dos buckets de armazenamento no seu projeto Lovable Cloud e faça upload deles para o seu novo projeto Supabase.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`No seu projeto Lovable, acesse `,_jsx(_components.strong,{children:`Cloud → Storage`}),`.`]}),`\n`,_jsx(_components.li,{children:`Baixe os arquivos dos seus buckets de armazenamento.`}),`\n`,_jsxs(_components.li,{children:[`No Supabase, acesse `,_jsx(_components.strong,{children:`Storage`}),` e faça upload dos arquivos para os buckets correspondentes.`]}),`\n`]}),`\n`,_jsx(`div`,{id:`8-set-up-environment-variables-and-secrets`,children:_jsx(Heading,{level:`3`,id:`8-configure-variáveis-de-ambiente-e-segredos`,children:`8. Configure variáveis de ambiente e segredos`})}),`\n`,_jsx(_components.p,{children:`Se você estiver usando algum serviço externo (por exemplo, Stripe) no seu projeto Lovable Cloud, será necessário reconfigurar manualmente as chaves de API, tokens e credenciais no seu novo projeto Supabase.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`No seu novo projeto Supabase, vá em `,_jsx(_components.strong,{children:`Edge Functions → Manage Secrets`}),`.`]}),`\n`,_jsx(_components.li,{children:`Adicione todas as chaves de API ou credenciais de serviços externos necessárias.`}),`\n`,_jsx(_components.li,{children:`Salve as alterações.`}),`\n`]}),`\n`,_jsx(`div`,{id:`9-verify-everything-works`,children:_jsx(Heading,{level:`3`,id:`9-verifique-se-tudo-está-funcionando`,children:`9. Verifique se tudo está funcionando`})}),`\n`,_jsx(_components.p,{children:`Depois de concluir todas as etapas, seu app estará sendo executado inteiramente no backend do Supabase. Certifique-se de que tudo está funcionando, por exemplo:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`O app carrega sem erros`}),`\n`,_jsx(_components.li,{children:`Você consegue criar e ler registros no banco de dados`}),`\n`,_jsx(_components.li,{children:`A autenticação está funcionando`}),`\n`,_jsx(_components.li,{children:`Os uploads/downloads no Storage são concluídos com sucesso`}),`\n`]}),`\n`,_jsx(`div`,{id:`advanced-cli-migration-option`,children:_jsx(Heading,{level:`3`,id:`avançado-opção-de-migração-pela-cli`,children:`Avançado: opção de migração pela CLI`})}),`\n`,_jsx(_components.p,{children:`Para desenvolvedores que se sentem à vontade com a linha de comando:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`17`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`17`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# 1. Instale a CLI do Supabase`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`npm install -g @supabase/cli`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# ou`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`brew install supabase/tap/supabase`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# 2. Atualize os arquivos de configuração (.env + supabase/config.toml)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# 3. Vincule ao seu novo projeto do Supabase`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`supabase login`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`supabase link --project-ref your-new-project-id`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# 4. Envie todas as migrações`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`supabase db push`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`# 5. Verifique o schema`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`supabase db diff`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]})}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":"Self-hosting: Rode seu projeto Lovable Cloud em qualquer lugar","sidebarTitle":"Self-hosting","description":"Publique e gerencie seus projetos Lovable Cloud na sua própria infraestrutura","icon":"door-open","href":"/pt-BR/tips-tricks/self-hosting","hidden":false}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Princípios fundamentais","slug":"princípios-fundamentais","depth":2,"children":[]},{"title":"Visão geral da migração","slug":"visão-geral-da-migração","depth":2,"children":[]},{"title":"Exemplo: Migrar seu Projeto no Lovable Cloud para o Supabase","slug":"exemplo-migrar-seu-projeto-no-lovable-cloud-para-o-supabase","depth":2,"children":[{"title":"1. Crie um novo projeto Supabase","slug":"1-crie-um-novo-projeto-supabase","depth":3,"children":[]},{"title":"2. Atualize variáveis de ambiente","slug":"2-atualize-variáveis-de-ambiente","depth":3,"children":[]},{"title":"3. Atualizar a configuração do Supabase","slug":"3-atualizar-a-configuração-do-supabase","depth":3,"children":[]},{"title":"4. Execute as migrações de banco de dados","slug":"4-execute-as-migrações-de-banco-de-dados","depth":3,"children":[]},{"title":"5. Exporte e importe seus dados","slug":"5-exporte-e-importe-seus-dados","depth":3,"children":[]},{"title":"6. Reconfigurar autenticação","slug":"6-reconfigurar-autenticação","depth":3,"children":[]},{"title":"7. Migrar arquivos de armazenamento","slug":"7-migrar-arquivos-de-armazenamento","depth":3,"children":[]},{"title":"8. Configure variáveis de ambiente e segredos","slug":"8-configure-variáveis-de-ambiente-e-segredos","depth":3,"children":[]},{"title":"9. Verifique se tudo está funcionando","slug":"9-verifique-se-tudo-está-funcionando","depth":3,"children":[]},{"title":"Avançado: opção de migração pela CLI","slug":"avançado-opção-de-migração-pela-cli","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"generaltranslation-d8a08cd1","siteName":"Lovable Documentation","title":"Self-hosting: Rode seu projeto Lovable Cloud em qualquer lugar - Lovable Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/tips-tricks/self-hosting","matchLevel":1},"es":{"href":"/es/tips-tricks/self-hosting","matchLevel":1},"ja":{"href":"/ja/tips-tricks/self-hosting","matchLevel":1},"zh":{"href":"/zh/tips-tricks/self-hosting","matchLevel":1},"fr":{"href":"/fr/tips-tricks/self-hosting","matchLevel":1},"de":{"href":"/de/tips-tricks/self-hosting","matchLevel":1},"pt-BR":{"href":"/pt-BR/tips-tricks/self-hosting","matchLevel":0},"it":{"href":"/it/tips-tricks/self-hosting","matchLevel":1}}},"lastModified":"2026-01-25T22:46:33.264Z","originalFileLocation":"pt-BR/tips-tricks/self-hosting.mdx","locale":"pt-BR"},"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=\"Publique e gerencie seus projetos Lovable Cloud na sua própria infraestrutura\">\u003cmeta data-mint-head name=\"application-name\" content=\"Lovable Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_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=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Self-hosting: Rode seu projeto Lovable Cloud em qualquer lugar - Lovable Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Publique e gerencie seus projetos Lovable Cloud na sua própria infraestrutura\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Lovable Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.lovable.dev/pt-BR/tips-tricks/self-hosting\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://generaltranslation-d8a08cd1.mintlify.site/assets/logo/opengraph-image.png\">\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=\"Self-hosting: Rode seu projeto Lovable Cloud em qualquer lugar - Lovable Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Publique e gerencie seus projetos Lovable Cloud na sua própria infraestrutura\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://generaltranslation-d8a08cd1.mintlify.site/assets/logo/opengraph-image.png\">\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=\"/mintlify-assets/_mintlify/favicons/generaltranslation-d8a08cd1/bjz-1EsDtwXCCrK5/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Lovable Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0095FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.lovable.dev/pt-BR/tips-tricks/self-hosting\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/pt-BR/tips-tricks/self-hosting.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.lovable.dev/pt-BR/tips-tricks/self-hosting\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.lovable.dev/tips-tricks/self-hosting\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.lovable.dev/es/tips-tricks/self-hosting\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.lovable.dev/ja/tips-tricks/self-hosting\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.lovable.dev/zh/tips-tricks/self-hosting\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.lovable.dev/fr/tips-tricks/self-hosting\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.lovable.dev/de/tips-tricks/self-hosting\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"it\" href=\"https://docs.lovable.dev/it/tips-tricks/self-hosting\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.lovable.dev/tips-tricks/self-hosting\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.lovable.dev/#organization\",\"name\":\"Lovable Documentation\",\"url\":\"https://docs.lovable.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/generaltranslation-d8a08cd1/At48MABj-G93zw7Y/assets/logo/logoblack.svg?fit=max\u0026auto=format\u0026n=At48MABj-G93zw7Y\u0026q=85\u0026s=ca1f70ffb8cc99cf980d91ff6495d89f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.lovable.dev#website\",\"name\":\"Lovable Documentation\",\"url\":\"https://docs.lovable.dev\",\"publisher\":{\"@id\":\"https://docs.lovable.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.lovable.dev/pt-BR/tips-tricks/self-hosting#webpage\",\"url\":\"https://docs.lovable.dev/pt-BR/tips-tricks/self-hosting\",\"name\":\"Self-hosting: Rode seu projeto Lovable Cloud em qualquer lugar\",\"description\":\"Publique e gerencie seus projetos Lovable Cloud na sua própria infraestrutura\",\"dateModified\":\"2026-01-25T22:46:33.264Z\",\"isPartOf\":{\"@id\":\"https://docs.lovable.dev#website\"}},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.lovable.dev/pt-BR/tips-tricks/self-hosting#article\",\"headline\":\"Self-hosting: Rode seu projeto Lovable Cloud em qualquer lugar\",\"name\":\"Self-hosting: Rode seu projeto Lovable Cloud em qualquer lugar\",\"description\":\"Publique e gerencie seus projetos Lovable Cloud na sua própria infraestrutura\",\"url\":\"https://docs.lovable.dev/pt-BR/tips-tricks/self-hosting\",\"mainEntityOfPage\":{\"@id\":\"https://docs.lovable.dev/pt-BR/tips-tricks/self-hosting#webpage\"},\"image\":\"https://docs.lovable.dev/assets/logo/opengraph-image.png\",\"dateModified\":\"2026-01-25T22:46:33.264Z\",\"publisher\":{\"@id\":\"https://docs.lovable.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.lovable.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Lovable Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Lovable Documentation","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/tips-tricks/self-hosting"}]},{"language":"es","pages":[{"title":"es","href":"/es/tips-tricks/self-hosting"}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/tips-tricks/self-hosting"}]},{"language":"zh","pages":[{"title":"zh","href":"/zh/tips-tricks/self-hosting"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/tips-tricks/self-hosting"}]},{"language":"de","pages":[{"title":"de","href":"/de/tips-tricks/self-hosting"}]},{"language":"pt-BR","tabs":[{"tab":"Introdução","pages":[{"title":"Introdução","href":"/pt-BR/introduction/welcome"}]},{"tab":"Funcionalidades","pages":[{"title":"Funcionalidades","href":"/pt-BR/features/modes"}]},{"tab":"Integrações","pages":[{"title":"Integrações","href":"/pt-BR/integrations/introduction"}]},{"tab":"Dicas e truques","pages":[{"title":"Boas práticas","icon":"dumbbell","href":"/pt-BR/tips-tricks/best-practice"},{"title":"Solução de problemas","icon":"toolbox","href":"/pt-BR/tips-tricks/troubleshooting"},{"title":"Implementar boas práticas de SEO e GEO","sidebarTitle":"Boas práticas de SEO e GEO","icon":"magnifying-glass","href":"/pt-BR/tips-tricks/seo-geo"},{"title":"Usando imagens no Lovable","icon":"frame","href":"/pt-BR/tips-tricks/using-images"},{"title":"Usando vídeos","icon":"film","href":"/pt-BR/tips-tricks/using-videos"},{"title":"Usando fontes personalizadas (Google Fonts)","icon":"font","href":"/pt-BR/tips-tricks/custom-fonts"},{"title":"Usando pacotes npm","icon":"box","href":"/pt-BR/tips-tricks/npm-packages"},{"title":"Da ideia ao app funcional","icon":"screwdriver-wrench","href":"/pt-BR/tips-tricks/from-idea-to-app"},{"title":"Política de Suporte","icon":"life-ring","href":"/pt-BR/tips-tricks/support-policy"},{"title":"Evitando armadilhas de segurança","description":"Ao criar e publicar com a Lovable","icon":"lock","href":"/pt-BR/tips-tricks/avoiding-security-pitfalls"},{"title":"Self-hosting: Rode seu projeto Lovable Cloud em qualquer lugar","sidebarTitle":"Self-hosting","icon":"door-open","href":"/pt-BR/tips-tricks/self-hosting"}]},{"tab":"Engenharia de Prompts de IA","pages":[{"title":"Engenharia de Prompts de IA","href":"/pt-BR/prompting/prompting-one"}]},{"tab":"Casos de uso","pages":[{"title":"Casos de uso","href":"/pt-BR/use-case/video-tutorials"}]},{"tab":"Glossário","pages":[{"title":"Glossário","href":"/pt-BR/glossary"}]},{"tab":"Registro de alterações","pages":[{"title":"Registro de alterações","href":"/pt-BR/changelog"}]}]},{"language":"it","pages":[{"title":"it","href":"/it/tips-tricks/self-hosting"}]}]},"basePath":"","title":"Self-hosting: Rode seu projeto Lovable Cloud em qualquer lugar - Lovable Documentation","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":[],"chunks":[]}