Skip to content
Steel Industry ERP

11-Server Odoo Fleet Migration: Ubuntu 20.04 → 22.04

Challenge

The problem

The client operated a production fleet of 11 Odoo 13 servers, all running Ubuntu 20.04 approaching end-of-life. Migration required zero unplanned downtime, with each server handling live production workloads and unique configurations.

Constraints
  • Every server was live production, each serving a different subsidiary, some with 50+ concurrent users at peak
  • No two servers were configured identically, so a single copy-paste runbook was never going to work
  • Ubuntu 20.04 was approaching end of life, and PostgreSQL 12 with it, so the deadline was external and fixed
  • A failed cutover meant real financial loss for the business, not just an internal inconvenience
Approach

How we ran it

  1. Full pre-migration inventory of all 11 hosts: OS and kernel, Odoo version and custom modules, PostgreSQL version and database size, Nginx config, certificates and expiry, systemd units and cron jobs
  2. Fresh target server built and validated independently for each host, rather than an in-place OS upgrade on a live box
  3. Database and filestore transferred with checksums on both sides, so a partial copy would be caught before cutover instead of after
  4. One server migrated first as the reference run, with the runbook corrected from what that server actually taught us before touching the next
  5. Cutovers scheduled outside business hours per subsidiary, with the old server kept running and reachable for a holdback period
  6. Post-migration worker and PostgreSQL tuning on each host, which is where the 35% load-time improvement came from
  7. Uptime Kuma monitoring rolled out across the whole fleet at the end, so the next problem is found by a monitor and not by a user

Rolling migration, one server at a time

By the numbers
servers migrated
11 / 11servers migrated
minutes of unplanned downtime
0minutes of unplanned downtime
faster page loads after tuning
35%faster page loads after tuning
servers on fleet-wide monitoring
11servers on fleet-wide monitoring
Results

What we delivered

  • 11/11 servers migrated successfully with zero unplanned downtime
  • 35% average reduction in page load times post-tuning
  • Uptime Kuma monitoring deployed across full fleet
Tech stack
Ubuntu 22.04Odoo 13PostgreSQL 12NginxCertbotsystemdContabo Object StorageUptime KumaDocker
Start a similar project →