63 stable releases
new 3.19.0 | Nov 19, 2024 |
---|---|
3.17.10 | Oct 23, 2024 |
3.11.2 | Jul 30, 2024 |
3.5.2 | Nov 14, 2023 |
0.0.16 | Mar 3, 2023 |
#16 in Configuration
1,583 downloads per month
215KB
5.5K
SLoC
Railway CLI
This is the command line interface for Railway. Use it to connect your code to Railway's infrastructure without needing to worry about environment variables or configuration.
The Railway command line interface (CLI) connects your code to your Railway project from the command line.
The Railway CLI allows you to
- Create new Railway projects from the terminal
- Link to an existing Railway project
- Pull down environment variables for your project locally to run
- Create services and databases right from the comfort of your fingertips
Status
Currently pre-release. We are looking for feedback and suggestions. Please join our Discord to provide feedback.
Installation
Cargo
cargo install railwayapp --locked
Homebrew
brew install railway
NPM
npm install -g @railway/cli
Bash
# Install
bash <(curl -fsSL cli.new)
# Uninstall
bash <(curl -fsSL cli.new) -r
Scoop
scoop install railway
Arch Linux AUR
Install using Paru
paru -S railwayapp-cli
Install using Yay
yay -S railwayapp-cli
Docker
Before using the CLI in a non-interactive environment, ensure you have created an access token (only project-tokens are supported as of now) and set it as the RAILWAY_TOKEN
environment variable. CI environments are automatically detected by the presence of CI=true
variable. In these environments, only build logs will be streamed, and the CLI will exit with an appropriate code indicating success or failure.
Install from the command line
docker pull ghcr.io/railwayapp/cli:latest
Use in GitHub Actions
deploy-job:
runs-on: ubuntu-latest
container: ghcr.io/railwayapp/cli:latest
env:
SVC_ID: my-service
RAILWAY_TOKEN: ${{ secrets.RAILWAY_TOKEN }}
steps:
- uses: actions/checkout@v3
- run: railway up --service=${{ env.SVC_ID }}
Use in GitLab CICD
deploy-job:
image: ghcr.io/railwayapp/cli:latest
variables:
SVC_ID: my-service
script:
- railway up --service=$SVC_ID
[!TIP] GitLab can access a protected (secret) variable directly, all you need to do is to add it in CI/CD settings.
From source
See CONTRIBUTING.md for information on setting up this repo locally.
Documentation
Feedback
We would love to hear your feedback or suggestions. The best way to reach us is on Discord.
We also welcome pull requests into this repo. See CONTRIBUTING.md for information on setting up this repo locally.
Dependencies
~28–63MB
~1M SLoC