Managing Containers
Containers in Rexec provide isolated, on-demand development environments in the cloud. Each container comes with persistent storage, customizable resources, and automatic tool installation based on your selected role.Creating a Container
From the Dashboard
- Click the Create Terminal button in the top navigation
- Choose your container configuration:
- Image Type: Select from Ubuntu, Debian, Alpine, Fedora, or custom images
- Role: Choose pre-configured tool sets (Node.js, Python, Go, Rust, etc.)
- Resources: Allocate memory, CPU, and disk space
- Shell Setup: Configure shell enhancements and themes
- Click Create Container
- Wait for the container to be created (you’ll see real-time progress)
- Your terminal will automatically connect when ready
Available Images
- ubuntu - Latest Ubuntu LTS (default)
- debian - Debian stable
- alpine - Lightweight Alpine Linux
- fedora - Latest Fedora
- custom - Provide your own Docker image
- macos - macOS VM (Enterprise tier only)
Pre-configured Roles
Roles automatically install development tools when your container starts:- node - Node.js, npm, yarn, pnpm
- python - Python 3, pip, virtualenv
- go - Go compiler and tools
- rust - Rust toolchain (rustc, cargo)
- java - OpenJDK and Maven
- php - PHP and Composer
- ruby - Ruby and Bundler
- elixir - Elixir and Mix
- c - GCC, Make, CMake
- barebone - Minimal setup (fastest startup)
Container Limits by Tier
Free Tier
Free Tier
- Max Containers: 5
- Memory: Up to 2GB per container
- CPU: Up to 2 vCPUs (2000 millicores)
- Disk: Up to 8GB per container
- Session Duration: 50 hours
Pro Tier
Pro Tier
- Max Containers: 10
- Memory: Up to 4GB per container
- CPU: Up to 4 vCPUs (4000 millicores)
- Disk: Up to 16GB per container
- Session Duration: Unlimited
Enterprise Tier
Enterprise Tier
- Max Containers: 20
- Memory: Up to 8GB per container
- CPU: Up to 8 vCPUs (8000 millicores)
- Disk: Up to 32GB per container
- Session Duration: Unlimited
- macOS Containers: Available
Managing Container Settings
Updating Container Configuration
- In the Dashboard, find your container card
- Click the ⚙ Settings icon
- Modify settings:
- Name: Rename your container
- Memory: Adjust memory allocation (512MB - tier limit)
- CPU: Change CPU shares (512 - tier limit)
- Disk: Update storage quota (2GB - tier limit)
- Click Save Changes
When you change resources, the container will be automatically recreated with the new settings. Your data persists on the attached volume.
Container Lifecycle
Status Indicators:- 🟢 running - Container is active and ready
- 🟡 creating - Container is being set up
- 🟡 configuring - Installing role tools
- ⚫ stopped - Container is paused
- 🔴 error - Creation or startup failed
Starting and Stopping
Stop a Container:API Examples
Create Container via API
List Containers
Update Container Settings
Delete Container
Persistent Storage
Each container has a persistent volume mounted at/workspace. Data stored here survives:
- Container restarts
- Resource updates
- System maintenance
rexec-{user_id}-{container_name}
Best Practices
Organize Your Files
Organize Your Files
Backup Important Data
Backup Important Data
While volumes are persistent, always maintain backups:
Shell Customization
Enhanced Shell Features
When creating a container with enhanced shell enabled, you get:- Oh My Zsh with custom themes
- Autosuggestions based on command history
- Syntax Highlighting for commands
- Git Aliases for faster workflows
- System Stats in your prompt
Available Themes
robbyrussell(default)agnosterpowerlevel10kspaceship
Tmux Integration
Enable tmux for session persistence and split panes:Troubleshooting
Container Stuck in 'Creating' Status
Container Stuck in 'Creating' Status
If the container creation takes longer than 5 minutes:
- Check the WebSocket connection status (indicator in UI)
- Refresh the page to reconnect
- If still stuck, delete and recreate the container
- Contact support if the issue persists
- Large custom image download
- Docker host overload
- Network connectivity issues
Connection Failed
Connection Failed
If you can’t connect to your container:
- Verify the container status is “running” (not “configuring”)
- Check your browser console for WebSocket errors
- Try reconnecting from the Dashboard
- Ensure your token hasn’t expired (refresh if needed)
Out of Storage Space
Out of Storage Space
MFA-Locked Terminal
MFA-Locked Terminal
If your container shows a lock icon and prompts for MFA:
- Enter your 6-digit TOTP code from your authenticator app
- Or use a backup code if you’ve lost access to your authenticator
- To remove MFA protection, click “Unlock Terminal” and verify with a code
Advanced Usage
Custom Docker Images
Using Your Own Images
Using Your Own Images
Select “custom” as the image type and provide a Docker image name:Requirements:
- Image must be publicly accessible or authenticated
- Must include a shell (
/bin/shor/bin/bash) - SSH is optional (WebSocket terminal works without it)
Automation with CLI
Guest vs. Authenticated Sessions
Guest Containers
- No sign-in required
- Limited to 5 containers
- 50-hour maximum lifetime
- Automatically cleaned up after expiration
- Cannot be restarted after stopping
Authenticated Containers
Free tier users with PipeOps login:- Same 5 container limit as guests
- 50-hour session duration for free tier
- Can restart containers
- Unlimited duration with Pro/Enterprise subscription
Upgrade to Pro for unlimited session duration and 10 concurrent containers.
Real-time Updates
The Rexec dashboard uses WebSocket connections to provide live updates:- Container Status: See status changes instantly
- Resource Usage: Monitor CPU, memory, and disk in real-time
- Idle Time: Track how long containers have been inactive
- Creation Progress: Watch image pull and setup stages