Environments
Environments are your Odoo instances running on your servers. Each environment has its own database, files, and settings - allowing you to safely develop, test, and run your Odoo applications.
Understanding Environment Types
OEC.sh supports three types of environments for different stages of your workflow:
| Type | Purpose | When to Use |
|---|---|---|
| Development | Build and test new features | Daily development work, experimenting with changes |
| Staging | Validate before going live | User acceptance testing, final checks before production |
| Production | Live customer operations | Real business use with actual customer data |
Tip: Start with a Development environment to test changes safely before deploying to Production.
Environment Status
Your environments show real-time status with color indicators:
| Status | What It Means |
|---|---|
| Running (green) | Environment is active and you can access it |
| Stopped (yellow) | Environment is stopped but your data is safe |
| Paused (yellow) | Environment is paused; can be resumed without redeployment |
| Deploying (blue) | Setting up or updating your environment |
| Cloning (blue) | Creating a copy of this environment |
| Error (red) | Something went wrong - check the logs |
| Pending (gray) | Created but not yet deployed |
| Deleted (gray) | Environment has been destroyed |
Creating an Environment
- Go to your Project
- Click the Environments tab
- Click Add Environment
- Fill in the basic settings:
- Name: A descriptive name (auto-generated based on type)
- Type: Choose Development, Staging, or Production
- Server: Select which server to run on
- Set your resources (CPU, RAM, and disk space)
- Configure additional settings (optional):
- Domain: Custom domain or auto-generated subdomain
- Git Branch: Which branch to deploy
- Auto-deploy: Enable to deploy on branch push
- Database Settings: PostgreSQL version and optimizations
- Click Create Environment
- When prompted, click Deploy Now to start your environment
Environment Settings
Domain Configuration
Each environment can have:
- Auto-generated Domain: Format
{project}-{env}.apps.oec.sh(always available) - Custom Domain: Your own domain like
erp.company.com(Pro plan required) - Agency Subdomain: Format
{subdomain}.{agency-domain}(Agency plan required)
See Custom Domains for setup instructions.
Database Settings
Configure PostgreSQL options when creating or editing an environment:
| Setting | Description | Plan |
|---|---|---|
| PostgreSQL Version | Database version (default: 15) | All |
| PGTune Optimization | Auto-tune PostgreSQL for workload | Pro+ |
| PgBouncer | Connection pooling for better performance | Pro+ |
| Read Replica | High-availability read replica (Odoo 18+ only) | Pro+ |
Read replicas are only available for Odoo 18.0 and newer versions.
Git Configuration
- Branch: Select which Git branch to deploy
- Auto-deploy: Automatically redeploy when you push to the branch
Odoo Configuration
Customize your odoo.conf settings:
- Go to Settings → Odoo Configuration
- Choose a preset (minimal, standard, production, high_performance) or customize
- Add custom parameters as needed
- Save and redeploy
Deploying Your Environment
Deployment sets up your Odoo instance with all the code and configuration.
To deploy or redeploy:
- Open your environment from the project page
- Click the Deploy button (or Redeploy if already deployed)
- Watch the progress as the system:
- Connects to your server
- Sets up the database
- Downloads your code
- Starts Odoo
- Once complete, click your environment URL to access Odoo
When to redeploy:
- After changing resources (CPU, RAM, disk)
- After switching to a different Git branch
- After modifying Odoo settings
- To apply new code changes
Environment Actions
The Quick Actions panel provides buttons for common operations:
| Action | Description |
|---|---|
| Deploy | First deployment of the environment |
| Redeploy | Re-run deployment with current settings |
| Start | Start a stopped environment |
| Stop | Stop a running environment |
| Restart | Restart Odoo containers |
| Sync | Synchronize status with actual container state |
Viewing Logs
Logs help you understand what is happening in your environment and troubleshoot issues.
- Open your environment
- Click the Logs tab
- Select which container to view:
- Odoo: Application logs
- PostgreSQL: Database logs
- Logs update in real-time
Common things to look for:
- Error messages (shown in red)
- Module installation progress
- Database connection issues
Managing Resources
Each environment uses CPU, RAM, and disk space from your organization quota.
Resource Guidelines
| Environment Type | CPU | RAM | Disk |
|---|---|---|---|
| Development | 1-2 cores | 2-4 GB | 10-20 GB |
| Staging | 2-4 cores | 4-8 GB | 20-50 GB |
| Production | 4-8 cores | 8-16 GB | 50-200 GB |
To change resources:
- Open your environment
- Go to Settings → Resources
- Adjust the sliders for CPU, RAM, or Disk
- Optionally customize PostgreSQL resource allocation
- Click Save Changes
- Click Redeploy to apply the changes
Note: Your organization has a total resource quota. If you reach the limit, you will need to reduce resources elsewhere or upgrade your plan.
Cloning an Environment
Create a copy of an existing environment with optional data sanitization.
- Go to your environment
- Click Clone in the actions menu
- Configure clone options:
- Target Project: Same or different project
- Environment Name: Name for the clone
- Sanitization Preset: recommended, minimal, full, or none
- Click Clone
The clone operation runs in the background. Sanitization removes sensitive data like passwords, API keys, and personal emails.
Deleting an Environment
When you no longer need an environment, you can delete it to free up resources.
- Open your environment
- Go to Settings → Advanced
- Scroll to Danger Zone
- Click Destroy Environment
- Choose whether to also remove database and filestore volumes:
- Unchecked: Data preserved, can be restored to a new environment
- Checked: All data permanently deleted
- Type the environment name to confirm
- Click Destroy
Production environments show an additional confirmation warning. Ensure you have a backup before destroying.
Addon Repositories
Environments can include addon modules from multiple sources:
- Shared Addons: Platform and organization addons selected in project settings
- Project Addons: Additional repositories specific to this project
To manage addons:
- Go to your project's Settings → Repositories
- Click Browse Addons to select shared addons
- Add project-specific repositories if needed
Tips for Success
For Development:
- Enable auto-deploy to automatically update when you push code
- Use smaller resources to save quota for other environments
- Feel free to experiment - you can always redeploy
For Staging:
- Match your production settings as closely as possible
- Test with realistic data (use the clone feature with sanitization)
- Validate everything works before promoting to production
For Production:
- Disable auto-deploy for manual control over updates
- Schedule deployments during low-traffic times
- Always have a recent backup before major changes
What's Next?
- Backups - Protect your data
- Custom Domains - Use your own domain name
- Monitoring - Track resource usage
- Database Management - Configure read replicas and pooling