{
  "id": "d18128797925ef9d925cc4b8",
  "source": "solid:signals",
  "type": "github-document",
  "title": "railway",
  "content": "---\ntitle: Railway\norder: 5\nmainNavExclude: true\nuse_cases: \u003e-\n  web app deployment, cloud hosting, github deployment, production hosting,\n  quick deployment\ntags:\n  - railway\n  - deployment\n  - hosting\n  - cloud\n  - github\n  - cli\nversion: '1.0'\ndescription: \u003e-\n  Deploy Solid projects to Railway platform with GitHub integration, custom\n  domains, and straightforward deployment process.\n---\n\n[Railway](https://railway.app/) is a well-known platform for deploying a variety of web and cloud-based projects.\nFor an in-depth look at the features offered by Railway, as well as detailed deployment guidelines, you can consult the [Railway documentation](https://docs.railway.app/).\n\n## Adjust the Start command\n\nTo begin, you need to update the start command in your `package.json` file to make it compatible with Railway.\nChange the start command to `npx http-server ./dist` instead of using `vite`.\nThis adjustment means you will need to build the app to generate the `dist` folder.\n\nFor local development, continue using the original `dev` command.\nReserve the modified start command specifically for Railway deployments.\nBelow is an example of how your `package.json` may be configured:\n\n```jsonl\n\"scripts\": {\n  \"start\": \"npx http-server ./dist\",\n  \"dev\": \"vite\",\n  \"build\": \"vite build\",\n  \"serve\": \"vite preview\",\n  \"predeploy\": \"npm run build\",\n  \"deploy\": \"gh-pages -d build\"\n},\n```\n\n## Using the Railway web interface\n\n1. Visit Railway's homepage and click \"Start a New Project.\"\n   You will be redirected to connect with GitHub.\n   Log in or create an account using your GitHub credentials and authorize Railway to access your account.\n\n\u003cEraserLink\n\thref=\"https://app.eraser.io/workspace/w9y9PNVjwSqDCEPNTEoe?elements=Ow2cGMhUtdPVAMoioe4fPA\"\n\tpreview=\"https://app.eraser.io/workspace/w9y9PNVjwSqDCEPNTEoe/preview?elements=Ow2cGMhUtdPVAMoioe4fPA\u0026type=embed\"\n/\u003e\n\n2. After authorization, choose the repository that has your Solid project.\n   During this step, you can also add any required environment variables.\n\n\u003cEraserLink\n\thref=\"https://app.eraser.io/workspace/w9y9PNVjwSqDCEPNTEoe?elements=XA18EOcjo3gQeBRlzIubIw\"\n\tpreview=\"https://app.eraser.io/workspace/w9y9PNVjwSqDCEPNTEoe/preview?elements=XA18EOcjo3gQeBRlzIubIw\u0026type=embed\"\n/\u003e\n\n3. Once your project is configured, click \"Deploy Now.\"\n   After a successful deployment, a confirmation screen will appear.\n\n\u003cEraserLink\n\thref=\"https://app.eraser.io/workspace/w9y9PNVjwSqDCEPNTEoe?elements=nFgehyw9gH9l7ezv5W4EvQ\"\n\tpreview=\"https://app.eraser.io/workspace/w9y9PNVjwSqDCEPNTEoe/preview?elements=nFgehyw9gH9l7ezv5W4EvQ\u0026type=embed\"\n/\u003e\n\n4. Railway does not automatically assign a domain to your project.\n   To do this, go to the settings and manually generate a domain for your deployed project.\n\n\u003cEraserLink\n\thref=\"https://app.eraser.io/workspace/w9y9PNVjwSqDCEPNTEoe?elements=2y6TnvBnztCwN8ecamrffQ\"\n\tpreview=\"https://app.eraser.io/workspace/w9y9PNVjwSqDCEPNTEoe/preview?elements=2y6TnvBnztCwN8ecamrffQ\u0026type=embed\"\n/\u003e\n\nOnce a domain has been generated, your Solid project should be live.\n\n## Using the Railway CLI\n\n1. Using your preferred package manager and install the Railway CLI:\n\n```package-install-global\n@railway/cli\n```\n\n2. Open your terminal and run the following command to log in:\n\n```bash frame=\"none\"\nrailway login\n```\n\n3. You have the option to link your local Solid project to an existing Railway project using railway link.\n   Alternatively, you can create a new project with `railway init` and follow the on-screen prompts.\n\n4. To deploy your project to Railway, use the following command:\n\n```bash frame=\"none\"\nrailway up\n# or\nrailway up --detach # if you prefer to avoid logs\n```\n\nYour project will now be live on Railway.",
  "url": "https://github.com/solidjs/solid-docs/blob/HEAD/src/routes/guides/deployment-options/railway.mdx",
  "metadata": {
    "path": "src/routes/guides/deployment-options/railway.mdx",
    "repo": "solidjs/solid-docs",
    "repo_url": "https://github.com/solidjs/solid-docs.git",
    "size": 3701,
    "source_type": "github"
  },
  "hash": "8591cf9e51f504ceac946608abcfce59accffa4384624032d57196ae08e25a12",
  "timestamp": "2026-02-23T11:43:00.18756131+01:00"
}