Product Guide
Environments
Overview

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:

TypePurposeWhen to Use
DevelopmentBuild and test new featuresDaily development work, experimenting with changes
StagingValidate before going liveUser acceptance testing, final checks before production
ProductionLive customer operationsReal business use with actual customer data

Environment Status

Your environments show real-time status with color indicators:

StatusWhat 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

  1. Go to your Project
  2. Click the Environments tab
  3. Click Add Environment
  4. 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
  5. Set your resources (CPU, RAM, and disk space)
  6. 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
  7. Click Create Environment
  8. 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:

SettingDescriptionPlan
PostgreSQL VersionDatabase version (default: 15)All
PGTune OptimizationAuto-tune PostgreSQL for workloadPro+
PgBouncerConnection pooling for better performancePro+
Read ReplicaHigh-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:

  1. Go to Settings > Odoo Configuration
  2. Choose a preset (minimal, standard, production, high_performance) or customize
  3. Add custom parameters as needed
  4. 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

OptionDescription
allEnable all development features (recommended for development environments)
reloadAuto-reload on Python/JS code changes
qwebQWeb template debugging with detailed error messages
werkzeugEnable Werkzeug interactive debugger
xmlXML view debugging with validation

Combining Options

You can combine multiple options using commas:

  • reload,qweb - Auto-reload plus QWeb debugging
  • reload,qweb,xml - Auto-reload with template and XML debugging
  • all - Enable everything (equivalent to all options combined)

Dev Mode Benefits

When Dev Mode is enabled:

  1. Fast Deploy: Automatically kicks in for code pushes without dependency changes. Updates deploy in seconds instead of minutes.
  2. Quick Update Dropdown: A dropdown appears in the environment actions for quick code updates, worker restarts, or asset reloads.
  3. 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:

  1. Open your environment from the project page
  2. Click the Deploy button (or Redeploy if already deployed)
  3. Watch the progress as the system:
    • Connects to your server
    • Sets up the database
    • Downloads your code
    • Starts Odoo
  4. 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:

ActionDescription
DeployFirst deployment of the environment
RedeployRe-run deployment with current settings
StartStart a stopped environment
StopStop a running environment
RestartRestart the Odoo application
Quick UpdateFast updates without full redeployment (dev mode only)
SyncSynchronize 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

ModeWhat It DoesBest For
Restart OnlyRestarts OdooConfiguration changes, clearing cache
Pull & RestartGit pull + restartCode changes with Odoo hot reload
Update All ModulesGit pull + odoo -u all + restartModule structure changes, new fields

When to Use Each Mode

Restart Only (Fastest - ~10 seconds)

  • After changing odoo.conf settings
  • 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

  1. Make sure your environment is Running
  2. Ensure dev_mode is enabled in Odoo Configuration settings
  3. Click the Quick Update button in the environment actions
  4. Select your update mode
  5. 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.

  1. Open your environment
  2. Click the Logs tab
  3. Select which service to view:
    • Odoo: Application logs
    • PostgreSQL: Database logs
  4. 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 TypeCPURAMDisk
Development1-2 cores2-4 GB10-20 GB
Staging2-4 cores4-8 GB20-50 GB
Production4-8 cores8-16 GB50-200 GB

To change resources:

  1. Open your environment
  2. Go to Settings > Resources
  3. Adjust the sliders for CPU, RAM, or Disk
  4. Optionally customize PostgreSQL resource allocation
  5. Click Save Changes
  6. 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.

  1. Go to your environment
  2. Click Clone in the actions menu
  3. Configure clone options:
    • Target Project: Same or different project
    • Environment Name: Name for the clone
    • Sanitization Preset: recommended, minimal, full, or none
  4. 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.

  1. Open your environment
  2. Go to Settings > Advanced
  3. Scroll to Danger Zone
  4. Click Destroy Environment
  5. Choose whether to also remove database and filestore volumes:
    • Unchecked: Data preserved, can be restored to a new environment
    • Checked: All data permanently deleted
  6. Type the environment name to confirm
  7. 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:

  1. Shared Addons: Platform and organization addons selected in project settings
  2. Project Addons: Additional repositories specific to this project

To manage addons:

  1. Go to your project's Settings > Repositories
  2. Click Browse Addons to select shared addons
  3. Add project-specific repositories if needed