Stages
1. Stage Overview
Stages are isolated execution environments for a subscription. Each subscription can have multiple stages (e.g., development, testing, production) up to its stage limit.
Basic Information
- Name - Stage identifier (readonly, unique per subscription)
- UUID - Auto-generated unique identifier
- Subscription - Parent subscription reference (required)
- Domain - FQDN for accessing the stage (unique, required)
- State - Current lifecycle: Build, Running, Stopped, Terminated, Cancelled
- End Date - When the stage expires
- HTTP Port - Application port on host server (readonly)
Storage Tracking
- Database Size - Database size in MB
- Filestore Size - Filestore size in MB
- User Addons Size - Custom addons directory size in MB
- Storage Used - Total computed usage (database + filestore + addons)
- Active User Count - Current active users on the stage
Infrastructure
- Nginx Host - Linked Nginx reverse proxy configuration
- Nginx Server - Nginx Proxy Manager instance
- Nginx IP - Server IP for Nginx
- Cloudflare Record - DNS A record for this stage
- Cloudflare Proxied - Whether DNS is proxied through Cloudflare
- Cloudflare Connector - Cloudflare API connection
- Destination Addons Dir - Remote directory path for custom addons (computed)
Git Integration
- Git Branch Name - Branch deployed to this stage
- Git Repository Name - Linked repository path
- Last Commit - Most recent deployed commit
- Last Commit Message - Commit description
- Git Commit Count - Total commits deployed to this branch
- Webhook State -
not_linkedorlinked - Clear Destination Directory - Remove old files before deploying new commit
Code Server (VS Code)
- Code Server Domain - Access URL for the browser-based editor
- Code Server Password - Authentication password
- Code Server Port - Internal port (readonly)
- Code Server State - Draft, Running, or Stopped
SQL Console
- SQL Input - Query text box
- SQL Output - Query results
Caution
SQL queries execute directly on the stage database. Use with care.
2. Stage Lifecycle
Build → Running → Stopped → Terminated
↓
Cancelled
| State | Description |
|---|---|
| Build | Stage infrastructure is being provisioned |
| Running | Stage is live and accepting traffic |
| Stopped | Stage is paused, can be resumed |
| Terminated | Permanently disabled |
| Cancelled | All resources deleted and cleaned up |
3. Stage Actions
| Action | Description |
|---|---|
| Create Stage | Provisions DNS, Nginx proxy, and database for the stage |
| Start | Resume a stopped stage |
| Stop | Pause the stage without deleting data |
| Cancel | Full teardown - removes DNS record, Nginx host, and database |
| Create Code Server | Set up browser-based VS Code for the stage |
| Start Code Server | Resume a stopped code server |
| Stop Code Server | Pause the code server |
| Remove Code Server | Delete the code server and its resources |
| Change Code Server Password | Generate new authentication password |
4. Stage Creation Process
When a new stage is created, it goes through these steps:
- Pre-validation - Check stage limit not exceeded
- DNS Step - Create Cloudflare DNS record pointing to server IP
- Nginx Step - Create reverse proxy configuration with SSL
- Database Step - Create database (or restore from template if configured)
- Configuration - Apply subscription settings to the new stage
Stage Limits
Each subscription has a stage_limit field that controls the maximum number of stages allowed. This limit is set by the product configuration or can be updated via update requests.