Skip to content

Odoo DevOps & Infrastructure

Full lifecycle Odoo infrastructure management

The problem

Odoo runs fine on a default install until it does not. Workers are left at the packaged default, PostgreSQL uses stock settings sized for a laptop, longpolling is never proxied so chat and live notifications quietly fail, and backups exist but nobody has restored one. The symptoms arrive as “Odoo is slow” or “the server crashed again”, and the real cause is almost always configuration that was never sized to the workload.

The process
  1. Audit of the running instance: Odoo and Python versions, worker count, PostgreSQL settings, disk and memory headroom, cron threads, current error log
  2. Worker and memory tuning using the CPU and RAM you actually have, with limit_time_real and limit_memory set from measured request behaviour rather than guesswork
  3. PostgreSQL configuration: shared_buffers, work_mem, effective_cache_size and autovacuum tuned to database size and connection count
  4. Nginx reverse proxy with SSL, correct websocket route for Odoo 16 and newer, gzip, and upload limits that match your attachment sizes
  5. Automated backup pipeline covering database and filestore, stored off the server, with a documented restore test
  6. Uptime and resource monitoring wired to real alerting, then a written handover document of every change made
Starting price

From $300 (production server setup) or $299/month managed

See the full rate card for fixed packages and managed retainer plans.

What's included

Deliverables

  • Production server setup (Ubuntu 20.04 / 22.04)
  • PostgreSQL configuration and optimization
  • Nginx reverse proxy with SSL
  • Systemd service management
  • Worker and memory tuning
  • Longpolling and WebSocket configuration
  • Automated backup setup
  • Ongoing monitoring and alerting
Versions supported

Flectra to Odoo 19

FAQ

How many workers should my Odoo server run?

The starting formula is roughly one worker per CPU core plus one, with each worker budgeted around 1 GB of RAM, then adjusted for cron threads and how heavy your reports are. We measure before setting it, because an under-provisioned worker count and an over-provisioned one produce the same complaint from users.

Do you work on Docker installs or service installs?

Both. Our own fleet runs a mix of Docker Compose stacks and systemd service installs across Flectra through Odoo 19, and each has cases where it is the better fit.

Can you take over an instance somebody else built?

Yes, and it is the most common way clients start with us. The first step is always an audit so we know exactly what we are inheriting before changing anything.

What if my Odoo version is old?

We support Flectra and Odoo 13 upward in production today. An old version is a valid reason to plan an upgrade, but it is not a reason to leave the current server untuned in the meantime.

Get a quote for this service →