Skip to main content

Configuration

rmux merges configuration from several sources so you can keep defaults globally and override them per project.

Resolution Order

Highest precedence first:
  1. CLI flags
  2. environment variables
  3. local rmux.conf
  4. global ~/.config/rmux/config.toml

Config Files

Project-local config:
./rmux.conf
Global config:
~/.config/rmux/config.toml
Write project config:
rmux configure
Write global config:
rmux configure --global
Show the resolved config after file and environment-variable merges:
rmux configure --show
rmux configure with no flags starts an interactive setup wizard when run in a TTY. By default it writes ./rmux.conf. Use --global to write ~/.config/rmux/config.toml instead. Do not commit rmux.conf if it contains API keys or cloud credentials.

Backend Selection

Set the backend explicitly:
rmux configure --backend aws
rmux configure --backend gcp
rmux configure --backend managed
Legacy aliases are still accepted:
  1. local maps to aws
  2. cloud maps to managed
The config file format is TOML with top-level [aws], [gcp], and [managed] tables. A single file can carry defaults for multiple backends, and backend decides which one is active.

Example rmux.conf

backend = "gcp"
apiBaseUrl = "http://localhost:4000"
apiKey = "rmux_dev_key"

[aws]
region = "us-east-1"
authMode = "aws-cli"
profile = "default"
vpcId = "vpc-123456"
subnetIds = ["subnet-a", "subnet-b"]
securityGroupIds = ["sg-123"]
instanceType = "t3.large"
workspaceBucket = "rmux-byoc-workspaces"
previewDomain = "preview.rmux.dev"

[gcp]
projectId = "rmux-dev"
region = "us-central1"
zone = "us-central1-a"
network = "default"
subnetwork = "default-us-central1"
machineType = "e2-standard-4"
previewDomain = "preview.rmux.dev"

[managed]
region = "us-east-1"
subnetIds = ["subnet-a", "subnet-b"]
securityGroupIds = ["sg-123"]
instanceType = "t3.large"
workspaceBucket = "rmux-managed-workspaces"
attachRoleArn = "arn:aws:iam::123456789012:role/rmux-attach"
previewDomain = "preview.rmux.dev"

Backend-Specific Settings

AWS

Important AWS settings:
  1. aws.region
  2. aws.authMode
  3. aws.profile, aws.accessKeyId, aws.secretAccessKey, aws.sessionToken
  4. aws.vpcId, aws.subnetIds, aws.securityGroupIds
  5. aws.instanceType
  6. aws.workspaceBucket
  7. aws.previewDomain
Useful AWS commands:
rmux configure \
  --backend aws \
  --from-aws-cli \
  --vpc-id vpc-123456 \
  --workspace-bucket my-rmux-bucket
aws.authMode supports aws-cli, env, and access-key.

GCP

Important GCP settings:
  1. gcp.projectId
  2. gcp.region
  3. gcp.zone
  4. gcp.network
  5. gcp.subnetwork
  6. gcp.machineType
  7. gcp.previewDomain
Useful GCP commands:
rmux configure \
  --backend gcp \
  --gcp-project-id rmux-dev \
  --gcp-zone us-central1-a \
  --gcp-network default \
  --gcp-machine-type e2-standard-4
gcp.projectId is required. gcp.zone is required in practice, though rmux can infer the region from it. There is no gcp.workspaceBucket setting in the current runtime because GCP sync uses gcloud compute scp, not bucket staging.

Managed

Important managed settings:
  1. apiBaseUrl
  2. apiKey
  3. managed.region
  4. managed.subnetIds
  5. managed.securityGroupIds
  6. managed.instanceType
  7. managed.workspaceBucket
  8. managed.attachRoleArn
  9. managed.previewDomain
Useful managed commands:
rmux configure \
  --backend managed \
  --api-base-url http://localhost:4000 \
  --api-key rmux_dev_key \
  --managed-region us-east-1 \
  --managed-subnet-ids subnet-a,subnet-b \
  --managed-security-group-ids sg-123 \
  --managed-workspace-bucket rmux-managed-workspaces
backend=managed always requires an API key. Managed deployments also require their AWS networking and workspace bucket settings to be supplied by the operator or deployment defaults.

Environment Variables

Core environment variables:
  1. RMUX_BACKEND
  2. RMUX_API_BASE_URL
  3. RMUX_API_KEY
AWS environment variables:
  1. RMUX_AWS_REGION
  2. RMUX_AWS_VPC_ID
  3. RMUX_AWS_AUTH_MODE
  4. RMUX_AWS_PROFILE
  5. RMUX_AWS_ACCESS_KEY_ID
  6. RMUX_AWS_SECRET_ACCESS_KEY
  7. RMUX_AWS_SESSION_TOKEN
  8. RMUX_AWS_SUBNET_IDS
  9. RMUX_AWS_SECURITY_GROUP_IDS
  10. RMUX_AWS_INSTANCE_TYPE
  11. RMUX_AWS_WORKSPACE_BUCKET
  12. RMUX_AWS_PREVIEW_DOMAIN
GCP environment variables:
  1. RMUX_GCP_PROJECT_ID
  2. RMUX_GCP_REGION
  3. RMUX_GCP_ZONE
  4. RMUX_GCP_NETWORK
  5. RMUX_GCP_SUBNETWORK
  6. RMUX_GCP_MACHINE_TYPE
  7. RMUX_GCP_PREVIEW_DOMAIN
Managed environment variables:
  1. RMUX_MANAGED_REGION
  2. RMUX_MANAGED_SUBNET_IDS
  3. RMUX_MANAGED_SECURITY_GROUP_IDS
  4. RMUX_MANAGED_INSTANCE_TYPE
  5. RMUX_MANAGED_WORKSPACE_BUCKET
  6. RMUX_MANAGED_ATTACH_ROLE_ARN
  7. RMUX_MANAGED_PREVIEW_DOMAIN
List-valued variables such as subnet IDs and security-group IDs use comma-separated values.

Compatibility Notes

RMUX still accepts legacy JSON config files and the legacy backend names local and cloud, but new writes use TOML and the explicit backend names aws, gcp, and managed. See the CLI help for the full flag surface:
rmux help
rmux configure --help
Last modified on March 19, 2026