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.
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 |
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
Dev Mode Configuration
Dev Mode enables Odoo's development features for faster iteration. Configure it in Settings > Odoo Configuration under the Development section.
Available Options
| Option | Description |
|---|---|
all | Enable all development features (recommended for development environments) |
reload | Auto-reload on Python/JS code changes |
qweb | QWeb template debugging with detailed error messages |
werkzeug | Enable Werkzeug interactive debugger |
xml | XML view debugging with validation |
Combining Options
You can combine multiple options using commas:
reload,qweb- Auto-reload plus QWeb debuggingreload,qweb,xml- Auto-reload with template and XML debuggingall- Enable everything (equivalent to all options combined)
Dev Mode Benefits
When Dev Mode is enabled:
- Fast Deploy: Automatically kicks in for code pushes without dependency changes. Updates deploy in seconds instead of minutes.
- Quick Update Dropdown: A dropdown appears in the environment actions for quick code updates, worker restarts, or asset reloads.
- Hot Reload: Changes to Python, JavaScript, and XML files can be applied without a full redeployment.
Dev Mode should only be enabled on Development and Staging environments. Never enable it on Production -- it exposes debugging information and reduces performance.
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
Fast Deploy: When auto-deploy is enabled and you push code-only changes (no dependency updates), deployments complete in 10-30 seconds instead of 3-5 minutes. This requires dev mode to be configured. See Fast Deploy for details.
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 the Odoo application |
| Quick Update | Fast updates without full redeployment (dev mode only) |
| Sync | Synchronize status with the actual environment state |
Quick Update (Development Mode)
Quick Update lets you iterate on code changes fast, without waiting for a full redeployment.
Quick Update is only available when your environment is running and has dev_mode enabled in the Odoo configuration settings.
Quick Update Modes
| Mode | What It Does | Best For |
|---|---|---|
| Restart Only | Restarts Odoo | Configuration changes, clearing cache |
| Pull & Restart | Git pull + restart | Code changes with Odoo hot reload |
| Update All Modules | Git pull + odoo -u all + restart | Module structure changes, new fields |
When to Use Each Mode
Restart Only (Fastest - ~10 seconds)
- After changing
odoo.confsettings - To clear in-memory cache
- When Odoo is behaving unexpectedly
Pull & Restart (Fast - ~30 seconds)
- Python code changes in existing methods
- Template (QWeb) changes
- JavaScript/CSS changes
- Most day-to-day development
Update All Modules (Slower - 1-5 minutes)
- New model fields or changes to existing fields
- New models or views
- Changes to
__manifest__.py - Security rules (ir.model.access.csv, ir.rule)
How to Use Quick Update
- Make sure your environment is Running
- Ensure dev_mode is enabled in Odoo Configuration settings
- Click the Quick Update button in the environment actions
- Select your update mode
- Click Update
The environment will briefly show a loading state while the update runs.
Quick Update does not run database migrations. If your code changes require module updates, use a full Redeploy instead.
See the Quick Update Guide for detailed development workflows.
Viewing Logs
Logs help you understand what is happening in your environment and troubleshoot issues.
- Open your environment
- Click the Logs tab
- Select which service 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, 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. Make sure 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