Reis CLI
Reis (Turkish for "captain") is the official Bahriya command-line interface. It lets you manage your entire Bahriya infrastructure from the terminal — creating projects, deploying containers, managing secrets, and automating workflows without opening a browser.
What Reis can do
- Authenticate with a personal access token (PAT)
- Manage organisations — list and switch between orgs you belong to
- Create and manage projects with region selection
- Deploy containers with full configuration: image, resources, regions, environment variables, secrets, autoscaling
- Manage Memcached instances alongside your containers
- Store secrets and registry credentials with secure hidden input
- Apply YAML files for declarative, repeatable infrastructure
- Export resources to YAML for backup or version control
Three input modes
Reis supports three ways to interact with every command:
- Interactive mode — omit required flags and Reis walks you through guided prompts, fetching available options (projects, regions, registries) from the API
- Flag mode — pass all options as command-line flags for scripted or one-off operations
- YAML file mode — define resources in YAML files and apply them with
reis apply -f
All three modes use the same API and produce identical results.
Installation
See the Installation guide for detailed instructions.
Quick start:
# Homebrew
brew tap bahriya/tap https://1x.ax/bahriya/library/homebrew-tap.git
brew install reis
# Shell installer
curl -sSL https://get.bahriya.cloud/reis | bash
# Direct download (macOS Apple Silicon example)
curl -fsSL https://get.bahriya.cloud/reis/releases/latest/reis-darwin-arm64 -o reis
chmod +x reis
sudo mv reis /usr/local/bin/
# Docker (multi-arch — linux/amd64 + linux/arm64)
docker pull 1x.ax/bahriya/library/reis:latest
docker run --rm -e REIS_TOKEN 1x.ax/bahriya/library/reis:latest version
First steps
# Authenticate with your personal access token
reis auth:login
# List your organisations
reis org:list
# Switch to an organisation
reis org:switch
# List projects
reis project:list
# Create a container interactively
reis container:create --project my-project
Command reference
See the Commands reference for a complete list of all commands and their options.
Output formats
Every command supports three output formats via the --output flag:
| Format | Flag | Description |
| Table | --output table | Human-readable table (default) |
| JSON | --output json | Machine-readable JSON |
| YAML | --output yaml | YAML output |
CI/CD usage
See the CI/CD guide for using Reis in automated pipelines.