Railway 是啥 ?
鐵路 ? Railway 是一個現代化的雲端平台,專注於簡化應用程式和服務的部署與管理,讓開發者能夠快速將專案從本地環境推送到線上運行。它支援多種語言和框架,包括 Node.js、Python、Go 以及前端框架如 Nuxt.js。
Railway 的主要特色包括:
零配置部署:利用內建的 Nixpacks 自動偵測專案類型並完成建置與部署,開發者無需撰寫複雜的 Dockerfile 或 CI/CD 腳本。
GitHub 直接部署:可連結 GitHub 倉庫,透過點擊即可自動部署最新程式碼,方便持續整合與持續部署(CI/CD)。
多種部署方式:支援從本地命令行 (railway up) 或 GitHub Repo 部署 Nuxt 等應用。
免費且彈性的資源配額:提供免費層級,適合個人專案或小型應用,且相較於其他平台如 Vercel,Railway 價格較親民。
內建日誌與監控:方便開發者追蹤應用狀態和錯誤,提升除錯效率。
支援全棧應用:不僅能部署前端框架(如 Nuxt),也能同時管理後端 API、資料庫等服務,適合全棧開發。
全端部屬示範
以下我們就來部屬 DB 及操作這個 DB 的後端,再加上前端
部屬 DB
超級簡單 !!!
看一下 Setting 部分,這邊的 url , 就是之後後端要連的 db 位置。
這種透過 db public url 的串接方式好像不太好,railway 有提供更好內部的串接方式。 但我們這邊先串通就好,日後優化日後再說。
部屬後端
接著部屬我們的後端,我覺得最快速、最不容易錯誤的方式,就是參考 railway 提供的 template
找到 github 連結
找到 github 上對應 repo, 把自己需要的檔案複製到自己的專案。 ex: railway.json
把後端專案中,db 的位置改成上面的 db public url
這邊我們省略 railway 到 github oauth 的流程。
特別想說: 因為前面我們使用 db public url 的方式串接,所以我們可以在本地使用 Alembic 去更新 db 的 schema
即使你在 container 內開發也一樣,都可以直接更新上一個步驟建好的 db
做完 alembic update 後可以去看一下自己開出來 db 的狀態
部屬前端
我們一樣從人家的 template 去看,這次我們選 nginx 的 template,
找到對應的 template,copy 自己需要的部分,前端部分比較簡單,反正就是你 build 出的 dist 的那邊放到某個資料夾,
以下面為例,就是全部放在 site 資料夾下。
心得
到這邊不得不靠X Google 一下了,一樣是部屬,為什麼 Google Cloud 可以搞得這麼困難,
人家 railway 簡單明瞭,好操作。非常推薦大家用 !!!!
可以使用我的推薦碼喔!非常感謝!













