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
- 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
- Fresh target server built and validated independently for each host, rather than an in-place OS upgrade on a live box
- Database and filestore transferred with checksums on both sides, so a partial copy would be caught before cutover instead of after
- One server migrated first as the reference run, with the runbook corrected from what that server actually taught us before touching the next
- Cutovers scheduled outside business hours per subsidiary, with the old server kept running and reachable for a holdback period
- Post-migration worker and PostgreSQL tuning on each host, which is where the 35% load-time improvement came from
- 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
Start a similar project →Ubuntu 22.04Odoo 13PostgreSQL 12NginxCertbotsystemdContabo Object StorageUptime KumaDocker