Nâng cao
5 phút đọc4 tháng 6, 20261

Railway CLI: Deploy và quản lý infra từ terminal như một pro

Railway CLI giúp bạn deploy, quản lý project và tích hợp AI coding tools ngay từ command line - không cần click lòng vòng trên dashboard.

N

Nguyễn Nhật Long

@nguyennhatlong1303

Railway CLI: Deploy và quản lý infra từ terminal như một pro

Nếu bạn đang dùng Railway để host các project side project hay production app, mà vẫn đang phải vào dashboard web để deploy mỗi lần push code - thì mình nghĩ bạn đang bỏ qua một thứ khá tiện lợi.

Railway CLI là công cụ command-line chính thức của Railway, viết bằng Rust (nên khá nhanh), cho phép bạn làm hầu hết mọi thứ trực tiếp từ terminal: deploy app, xem logs, quản lý environment variables, và gần đây còn có thêm tích hợp với các AI coding agent như Claude Code, Cursor, Codex.

Cài đặt - một lệnh là xong

Cách nhanh nhất, đặc biệt nếu bạn muốn cả phần agent setup:

Terminal
1bash <( curl -fsSL railway.com/install.sh ) --agents -y

Lệnh này sẽ cài CLI vào ~/.railway/bin và tự động chạy railway setup agent để config các AI tool mà nó detect được trên máy bạn. Nếu bạn không cần phần agent, bỏ flag --agents đi:

Terminal
1bash <( curl -fsSL railway.com/install.sh ) -y

Ngoài ra còn có các cách cài khác tùy môi trường:

Theo kinh nghiệm của mình, cách dùng curl script là ổn nhất vì nó luôn lấy version mới nhất và handle PATH tự động. Dùng npm thì đôi khi bị conflict với Node version, còn Homebrew thì lag một chút so với bản release chính thức.

Phương thứcLệnhPhù hợp cho
curl install script`bash <(curl -fsSL railway.com/install.sh)`macOS, Linux, WSL
Homebrew`brew install railway`macOS
npm`npm i -g @railway/cli`Node.js environment
Scoop`scoop install railway`Windows native
Pre-built binaryDownload từ GitHub ReleasesAir-gapped environments
Build from source`cargo build --release`Muốn tự build

Login và setup token

Sau khi cài xong, bước đầu tiên:

Terminal
1railway login

Nó sẽ mở browser để bạn authenticate qua Railway account. Nếu đang ở môi trường SSH hoặc không có browser (ví dụ đang remote vào server):

Terminal
1railway login --browserless

Nó sẽ in ra một URL và code để bạn copy vào browser từ máy khác. Cái này mình hay dùng khi setup trên VPS.

CI/CD thì dùng token

Interactive login không phải lúc nào cũng dùng được, đặc biệt trong GitHub Actions hay pipeline tự động. Railway có hai loại token:

Ví dụ deploy trong CI:

Token typeEnvironment variableDùng khi
Project token`RAILWAY_TOKEN`Deploy một project cụ thể
Account/Workspace token`RAILWAY_API_TOKEN`Quản lý nhiều project, workspace-level actions
Terminal
1RAILWAY_TOKEN=your_token_here railway up

Hoặc set trong GitHub Actions secrets và dùng như biến môi trường bình thường. Anh em lưu ý là RAILWAY_TOKEN chỉ có quyền ở project scope, còn RAILWAY_API_TOKEN thì rộng hơn - nên cẩn thận khi cấp token cho pipeline.

Workflow thực tế khi dùng Railway CLI

Mình sẽ walk through một flow deploy thực tế để bạn hình dung:

Terminal
1# Link project hiện tại với Railway project
2railway link
3
4# Xem status các service
5railway status
6
7# Deploy code hiện tại lên
8railway up
9
10# Xem logs realtime
11railway logs
12
13# Mở shell vào container đang chạy
14railway shell
15
16# Xem và set environment variables
17railway variables
18railway variables set MY_KEY=my_value

Cái railway shell này mình thấy khá hay - bạn có thể SSH thẳng vào container đang chạy để debug mà không cần setup thêm gì. Với các app Node.js hay Python, đây là cách nhanh nhất để kiểm tra xem environment có đúng không.

Một pattern mình hay dùng khi dev local:

Terminal
1# Chạy app local nhưng dùng environment variables từ Railway
2railway run npm start
3# hoặc
4railway run python manage.py runserver

railway run sẽ inject tất cả env vars từ Railway environment vào process local của bạn. Cực kỳ tiện khi bạn cần connect đến database production (hoặc staging) mà không muốn copy paste connection string.

Phần thú vị: tích hợp AI coding agents

Đây là feature mới mà Railway đang push khá mạnh. Lệnh:

Terminal
1railway setup agent -y

Sẽ tự động detect các AI tool bạn đang dùng và config Railway MCP server cho chúng. Hiện tại support:

  • Claude Code
  • Cursor
  • Codex (OpenAI)
  • OpenCode
  • GitHub Copilot
  • Factory Droid

Nếu bạn chỉ muốn setup cho một tool cụ thể:

Terminal
1# Chỉ config MCP cho Cursor
2railway mcp install --agent cursor
3
4# Chỉ install Railway skills cho Claude Code
5railway skills --agent claude-code

Mình chưa có cơ hội test kỹ phần này trong production workflow, nhưng concept thì khá hấp dẫn - về cơ bản bạn đang cho AI agent khả năng interact với Railway infrastructure trực tiếp: deploy, xem logs, manage services mà không cần bạn copy paste lệnh thủ công.

MCP (Model Context Protocol) ở đây đóng vai trò bridge giữa AI agent và Railway API. Nếu bạn đang dùng Claude Code hay Cursor thì đây là thứ đáng thử.

Uninstall nếu cần

Không phải ai cũng nghĩ đến điều này khi đọc docs, nhưng mình thấy việc có lệnh uninstall rõ ràng là một dấu hiệu tốt của một CLI tool:

Terminal
1bash <( curl -fsSL cli.new ) -r

Flag -r là remove. Sạch sẽ, không để lại rác.

Một vài điểm đáng chú ý

CLI được viết bằng Rust, repo hiện có khoảng 898 commits và đang ở version v5.0.0 (release tháng 6/2026). Tốc độ khá ổn, startup time nhanh hơn nhiều so với các CLI viết bằng Node.js mà mình từng dùng.

Nếu bạn muốn contribute hoặc build từ source, repo có CONTRIBUTING.md và dùng Cargo nên setup khá straightforward:

Terminal
1git clone https://github.com/railwayapp/cli
2cd cli
3cargo build --release

Có cả flake.nix cho anh em dùng Nix, và Dockerfile để build trong container.

Mình thấy Railway CLI là một trong những CLI tool được design khá tốt - lệnh intuitive, docs rõ ràng, và việc họ tích hợp thẳng MCP server cho AI agents ngay trong CLI thay vì bắt người dùng tự config thủ công là một UX decision khá thông minh. Nếu team bạn đang dùng Railway, đây là thứ nên có trong toolchain ngay từ đầu thay vì chỉ dùng dashboard web.

NN

Nguyễn Nhật Long

@nguyennhatlong1303

Nguyễn Nhật Long is a Senior Frontend Engineer and Frontend Team Leader with 7 years of experience building real-time fintech platforms. Specializing in React, Next.js, TypeScript, and React Native, shipping 10+ products across Web, Mobile, Telegram Mini-Apps, and Web3.

Thấy hay? Chia sẻ cho bạn bè!