{
  "id": 18350039,
  "title": "How to host a Lovable, Bolt or v0 app on your own domain (configs included)",
  "url": "https://urgent.news/2026/11/05/how-to-host-a-lovable-bolt-or-v0-app-on-your-own-domain-configs",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-11-05T18:18:54.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/veloxadev/how-to-host-a-lovable-bolt-or-v0-app-on-your-own-domain-configs-included-14jk"
  },
  "original_language": "en",
  "account": "If you've built an app using Lovable, Bolt, or v0 and exported it as a ZIP file or GitHub repository, you may find it challenging to get your app running on your own domain. Common issues include blank pages, 404 errors, missing environment variables, and mixed content warnings. To address these problems, follow these steps outlined in an open-source repository: veloxahost/host-ai-built-apps.\n\nFirst, examine the contents of your exported app. If it's a static site, it should be served with an index.html file, CSS, and JavaScript. If it's a Vite app, run the build command and serve the dist/ directory using an SPA fallback. For Next.js apps, use the multi-stage Dockerfile provided in the repo and reverse-proxy it to your domain.\n\nSecond, ensure your app is served with automatic HTTPS on any Ubuntu server with your domain's A record pointing to it. Install Caddy on the server, build your Vite app, copy the dist/ folder to the server, and add a Caddyfile with the appropriate configurations. Caddy will automatically obtain a Let's Encrypt certificate for your domain.\n\nNext, if you're using Next.js, set the output to standalone in next.config.js, build the app with the Dockerfile provided in the repo, and reverse-proxy it to your domain.\n\nLastly, deploy your app on every push using the GitHub Actions workflow included in the repo. Add DEPLOY_HOST, DEPLOY_USER, and DEPLOY_SSH_KEY as secrets to your GitHub repository, and the workflow will handle the rest.\n\nSome common issues you may encounter and how to resolve them are:\n- Blank page: The build may have used a sub-path. Include base: / in vite.config.js.\n- 404 error on refresh: Missing SPA fallback configuration. Follow the instructions in Step 2.\n- Missing environment variables: Vite only exposes VITE_* vars at build time. Ensure you rebuild after changing them.\n- Login redirect fails: Add your new domain to the allowed redirect URLs in your auth provider.\n- Mixed content warnings: Ensure all API URLs use HTTPS.\n\nThese configurations are provider-neutral and work on any Linux VPS. If you prefer a more straightforward setup, you can use VeloxaHost servers starting at $4/month with snapshots, or Veloxa Build hosts what it builds on every plan.\n\nThe repo is MIT-licensed and welcomes contributions.",
  "summary": "You built an app in Lovable, Bolt or v0, clicked export, and now you have a zip or a GitHub repo. Getting it onto your own domain is where most people get stuck — blank pages, routes that 404 on refresh, env vars that vanish. We collected the configs we use into an open-source repo: veloxahost/host-ai-built-apps . Here's the short version. Step 1: Work out what you actually exported You have… It…",
  "key_points": [
    "Examine app contents for static site or Vite/Next.js structure",
    "Serve app with HTTPS on Ubuntu server using Caddy reverse-proxy",
    "Deploy app automatically via GitHub Actions workflow included"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}