Skip to main content
For Developers

The Odoo Developer Platform

Public API, webhooks, automation rules, AI dev sidecars, and MCP for Odoo, all built in. GitHub and GitLab, full SSH from your browser, push to deploy.

No credit card required - Full SSH access on all plans

< 5 min
Deploy Time
From git push to live
200+
API Endpoints
Full automation
8+
Cloud Providers
Deploy anywhere
100%
SSH Access
No restrictions

Git Integration That Just Works

Connect your repository from GitHub or GitLab. Configure once, deploy on every push.

GitHub

Connect via OAuth or deploy keys. Automatic webhook setup triggers deployments on every push. Works with public and private repositories.

  • OAuth & deploy keys
  • Automatic webhooks
  • Branch-based deployments

GitLab

Full support for GitLab.com and self-hosted instances. Use personal access tokens or OAuth. Integrates with GitLab CI/CD pipelines.

  • GitLab.com & self-hosted
  • Personal access tokens
  • GitLab CI integration

Learn more about Git integration. Read our GitLab CI/CD Guide

Available on Starter, Pro, Agency

Public REST API v1

A versioned, documented public API for automating environments, deployments, and webhooks. JWT auth, idempotency keys, and rate limits, with full OpenAPI and Swagger docs.

JWT Auth and Idempotency Keys

Bearer token authentication with scoped API keys. Send an Idempotency-Key header to safely retry requests without duplicate side effects.

Endpoints for Environments, Deployments, Webhooks

Create and manage environments, trigger deploys, register webhooks, and read delivery logs. Rate limits documented per endpoint.

OpenAPI and Swagger Docs

Generate clients in any language from the OpenAPI spec. Try every endpoint live from the Swagger UI.

Deploy via API v1
curl -X POST https://platform.oec.sh/api/v1/environments/{env_id}/deploy \
  -H "Authorization: Bearer $OECSH_API_KEY" \
  -H "Idempotency-Key: deploy-$(date +%s)"
oec-cli
$ oec deploy --env production
Building from branch main...
Deployed to production
Webhook payload
POST https://your-app.example.com/hooks
X-OECSH-Event: deployment.succeeded
X-OECSH-Signature: t=1736812800,v1=...

{
  "id": "evt_01HMB2X7Q3...",
  "event": "deployment.succeeded",
  "created_at": "2026-04-12T14:32:01Z",
  "data": {
    "environment_id": "env_8f2a",
    "deployment_id": "dep_abc123",
    "branch": "main",
    "commit": "9f3c1b2",
    "url": "https://myapp.oec.sh"
  }
}

Webhooks With a Delivery Log

Subscribe to deployment, environment, and build events. Inspect every delivery, replay failures, and route alerts to Slack, Teams, or Discord with native formatting.

Full Delivery Log

See request body, response, latency, and status for every webhook attempt. Filter by event type and endpoint.

Auto-Pause on Failures

Endpoints that fail repeatedly are paused automatically. You get notified and can replay deliveries once the issue is fixed.

Native Slack, Teams, and Discord Formats

Pick a destination and we send the right payload shape. No middleware, no Zapier, no glue scripts.

Signed Payloads

Every webhook is HMAC-signed. Verify the signature in your handler to confirm authenticity.

Automation Rules

A workflow engine for Odoo operations. Build pipelines from triggers and actions, watch them run with live SSE events, and start fast with a templates gallery.

Triggers

  • G
    Git events
    Push, tag, pull request opened or merged.
  • S
    Schedules
    Cron-style timing for nightly clones, weekly backups, periodic checks.
  • M
    Manual
    One-click runs from the dashboard or via API.

Actions

  • Deploy to any environment
  • Clone production to staging with sanitization
  • Promote staging to production
  • Destroy ephemeral environments
  • Quick update modules without a full rebuild

Templates Gallery

Start from proven workflows: nightly staging refresh, PR preview environments, scheduled production backups, hotfix promotion.

Pipeline Visualization

See each step of a rule in a clear, top-down diagram. Click any step to inspect inputs, outputs, and timing.

Live SSE Events

Stream rule execution to your dashboard or any client. Watch builds, clones, and deploys progress in real time.

AI Dev Sidecar and MCP for Odoo

Vibe-code Odoo with the AI tools you already use. Spin up dev terminals or connect any MCP agent to your live Odoo data.

AI Dev Sidecar

Pro plan

Multi-VM dev terminals with Claude Code, Cursor, Gemini CLI, and OpenAI Codex pre-configured. Watch real-time provisioning logs as your sidecar comes up.

  • Claude Code, Cursor, Gemini CLI, OpenAI Codex pre-installed
  • Multi-VM dev terminals isolated from production
  • Real-time provisioning logs
  • Mounted to your Odoo source and database

MCP for Odoo

Connect Claude Code, Cursor, or any MCP-compatible agent to a live Odoo instance. Read and write data through AI agents safely, with scoped credentials.

  • Standard Model Context Protocol server
  • Read and write Odoo records via your AI agent
  • Works with Claude Code, Cursor, and other MCP clients
  • Scoped tokens with audit trail
Set up MCP for Odoo

CLI Tools and Legacy API

Automate deployments, backups, and integrations from your terminal. The 200+ endpoint legacy API stays available for existing scripts while you migrate to v1.

oec-cli Command Line

Deploy, backup, restore, and manage servers directly from your terminal. Install via npm, pip, or standalone binary.

200+ Legacy Endpoints

Cover deployments, backups, domains, and environment variables. New automation should use API v1 for JWT auth and idempotency.

Secure Authentication

API keys with granular permissions. Rotate keys, set expiration dates, and audit all API access from your dashboard.

oec-cli
$ oec deploy --env production
Building from branch main...
Running tests...
Deployed to production
$ oec backup create --name daily
Backup created: daily-2026-04-15
Legacy REST API
curl -X POST https://api.oec.sh/v1/deployments \
  -H "Authorization: Bearer $API_KEY" \
  -d '{"branch": "main", "env": "production"}'

{
  "id": "dep_abc123",
  "status": "deploying",
  "url": "https://myapp.oec.sh"
}

Your Odoo Development Workflow

From local development to production without friction

terminal
$ git push origin main
Counting objects: 12, done.
Writing objects: 100% (12/12), done.
remote: Deploying to production...
remote: Building Odoo 17.0...
remote: Installing dependencies...
remote: Deployment successful!
remote: https://myapp.oec.sh
1

Local Development Setup

Clone your repo, run Odoo locally with Docker. Use our dev container config for instant setup with VS Code.

2

Push to Deploy

Commit your custom modules and push. Webhooks trigger automatic build and deployment to your staging environment.

3

Test on Staging

Clone production data to staging with one click. Test changes with real data in an isolated environment.

4

Promote to Production

Merge to main branch for production deployment. Zero-downtime updates with instant rollback if needed.

ssh myapp.oec.sh
odoo@myapp:~$ tail -f /var/log/odoo/odoo.log
2024-01-15 14:32:01 INFO sale.order: Processing order SO001
2024-01-15 14:32:02 INFO stock.picking: Creating delivery
odoo@myapp:~$ odoo shell -d production
>>> env["res.partner"].search_count([])
1247
odoo@myapp:~$ psql -d production
production=# SELECT count(*) FROM sale_order;
328

Browser SSH and Full Debugging

Open a full root SSH terminal right in your browser. No keys to manage, no client to install, no restrictions on what you can run.

Browser SSH Terminal

Click and you are in. Full root shell from any browser with no setup. Native SSH still works for those who prefer it.

Real-time Log Access

Tail logs, grep for errors, and debug issues in real-time directly from the terminal.

Odoo Shell Access

Run Python code directly in the Odoo environment. Inspect data, test fixes, and debug modules.

PostgreSQL Shell

Full psql access for database queries, data inspection, and performance tuning.

Staging Environments & Database Cloning

Test changes safely with production-like data. Clone databases with automatic data sanitization.

One-Click Database Clone

Clone production to staging in seconds. Automatic sanitization removes sensitive data like passwords, emails, and API keys.

Isolated Environments

Each environment has dedicated resources, its own database, and custom domain. Test without affecting production.

Branch-Based Deploys

Map Git branches to environments. Push to develop for staging, main for production. Automatic deployments per branch.

Data Sanitization

Automatic removal of sensitive data when cloning. Customize sanitization rules for your specific data protection needs.

Instant Rollback

Made a mistake? Rollback to any previous deployment instantly. All deployment history is preserved for recovery.

Multiple Odoo Versions

Run different Odoo versions per environment. Perfect for testing migrations from Odoo 16 to 17 or 18 before going live.

Technical Specifications

Built for production workloads

Odoo Versions

  • Odoo 12 - 18+
  • Community & Enterprise
  • Custom builds supported

Database

  • PostgreSQL 14, 15, 16, 17 selector
  • pgvector for AI workloads
  • pg_trgm and unaccent included
  • Full SQL access, pgAdmin included

Compute

  • 1-64 vCPUs available
  • 2-256 GB RAM
  • NVMe SSD storage

Networking

  • Automatic SSL/TLS
  • Custom domains
  • Global CDN optional

Security

  • Container isolation
  • Managed firewall
  • DDoS protection

Integrations

  • GitHub and GitLab
  • Slack, Teams, Discord native
  • Webhooks with delivery log
  • Public API v1 and MCP

Connect Any Server, Run Modern Postgres

Bring a server behind a NAT, firewall, or your home network. Pair it with PostgreSQL 17 and pgvector for AI workloads.

Cloudflare Tunnel BYOS

Connect any server to OEC.sh without opening inbound ports. Works with NAT, corporate firewalls, and home networks. Great for development boxes, lab servers, and on-prem hardware.

  • No inbound ports required
  • Works behind NAT and firewalls
  • Run a worker on a home lab or office box
  • Encrypted tunnel via Cloudflare

PostgreSQL 17 with pgvector

Pick your Postgres version per environment. PostgreSQL 17 ships with pgvector for embeddings and AI workloads, plus pg_trgm and unaccent for fast fuzzy and accent-insensitive search inside Odoo.

  • Version selector: 14, 15, 16, 17
  • pgvector extension enabled
  • pg_trgm and unaccent included
  • Full SQL access via psql or pgAdmin

See plan availability on the pricing page.

Stop Managing Servers

Write Odoo code, not Nginx configs

Manual Server Setup

Hours of Configuration

Install PostgreSQL, configure Nginx, set up SSL, tune parameters...

Security Responsibility

Patch vulnerabilities, manage firewalls, rotate credentials yourself

No Automated Backups

Write your own backup scripts and hope they work when needed

Manual Deployments

SSH in, git pull, restart services, pray nothing breaks

OEC.sh Developer Platform

5-Minute Deployment

Connect Git, configure, deploy. Everything pre-configured and optimized.

Security Built-In

Automatic SSL, managed firewall, regular patching. We handle security.

Automated Backups

Daily automated backups to multiple cloud providers. One-click restore.

Git-Powered CI/CD

Push to deploy. Automatic builds, tests, and zero-downtime deployments.

See detailed comparison with other platforms. Compare with Odoo.sh

Developer FAQs

Technical questions answered

Does OEC.sh support GitLab?

Yes, OEC.sh fully supports GitLab integration including both GitLab.com and self-hosted GitLab instances. Connect your repository, configure deploy keys or webhooks, and enable automatic deployments on push. Branch-to-environment mapping lets you deploy different branches to staging, production, or development environments automatically.

Can I use CI/CD with OEC.sh?

Absolutely. OEC.sh provides built-in CI/CD pipelines that trigger on git push. Your code is automatically built, tested, and deployed with zero-downtime updates. You can also integrate with external CI/CD tools like GitHub Actions, GitLab CI, or Jenkins using our REST API with 200+ endpoints. Rollback to any previous deployment instantly if needed.

Is there SSH access?

Yes, you get full SSH access to your containers with no restrictions on all plans. Run any command, access logs in real-time, debug issues directly, install additional packages, and manage your Odoo installation from the terminal. Root access is available, giving you complete control over your environment.

How do staging environments work?

Create staging environments with one click. Clone your production database with automatically sanitized data (emails, passwords, API keys removed), test changes safely in isolation, then promote to production when ready. Each environment has isolated resources, can run different Odoo versions, and has its own custom domain with SSL.

Can I use my own Docker images?

Yes, OEC.sh supports custom Docker images. Start with our optimized Odoo base images or bring your own. Customize your Dockerfile to include specific dependencies, Python packages, or system libraries. Build pipelines automatically detect and build custom images from your repository.

Is there an API?

Yes. Public REST API v1 is available on Starter, Pro, and Agency plans. It uses JWT bearer auth, supports idempotency keys for safe retries, and exposes endpoints for environments, deployments, and webhooks. Full OpenAPI and Swagger docs are published. The 200+ endpoint legacy API stays available for existing scripts while you migrate to v1.

Can I use AI agents with my Odoo?

Yes. OEC.sh ships an MCP server for Odoo so Claude Code, Cursor, and other MCP-compatible agents can read and write data on your live instance with scoped tokens. Pro plan also includes the AI Dev Sidecar: multi-VM dev terminals with Claude Code, Cursor, Gemini CLI, and OpenAI Codex pre-configured.

Can I connect a server behind a firewall or NAT?

Yes. Cloudflare Tunnel BYOS lets you connect any server to OEC.sh without opening inbound ports, including home labs, office machines, and on-prem hardware behind corporate firewalls. The encrypted tunnel runs over Cloudflare and works wherever outbound HTTPS works.

Which PostgreSQL versions are supported?

PostgreSQL 14, 15, 16, and 17 are all selectable per environment. PostgreSQL 17 ships with pgvector for embeddings and AI workloads, plus pg_trgm and unaccent for fuzzy and accent-insensitive search inside Odoo. Full SQL access via psql or pgAdmin is included on every plan.

What Git platforms are supported?

We support GitHub and GitLab (including self-hosted) out of the box. Connect your repository using OAuth, deploy keys, or personal access tokens. Configure webhooks for automatic deployments, set up branch protection rules, and use branch-to-environment mapping for professional development workflows.

What Odoo versions are supported?

We support Odoo 12 through 18+ for both Community and Enterprise editions. Run multiple versions simultaneously for migration testing. New Odoo versions are available within days of release. Each project can specify its Odoo version independently, making it easy to support clients on different versions.

Start Building Today

Ready to Deploy Your Odoo Project?

Full SSH access, Git integration, and production-ready infrastructure from day one.

No credit card required - Deploy in under 5 minutes