Odoo 20 thay đổi nền tảng cơ sở cho self-hosted

Odoo 20 yêu cầu Python 3.12 trở lên và PostgreSQL 16 trở lên cho các cài đặt on-premise dựa trên mã nguồn. Các mức tối thiểu được tài liệu hóa trước đó là Python 3.10 và PostgreSQL 13. Do đó, các tổ chức đang chuẩn bị triển khai mới hoặc nâng cấp cần xem xét cả môi trường chạy ứng dụng lẫn nền tảng cơ sở dữ liệu. (Odoo 20.0 Docs: On Premise Source)

Một máy chủ đáp ứng các mức tối thiểu trước đó không tự động đáp ứng yêu cầu của Odoo 20. Cần đánh giá khả năng sẵn sàng của hạ tầng tách biệt với việc nâng cấp ứng dụng, bao gồm các phiên bản được dùng trong phát triển, kiểm thử, diễn tập di chuyển và sản xuất. (Odoo 20.0 Docs: On Premise Source)

Các phiên bản tối thiểu này không xác định một thiết kế triển khai hoàn chỉnh. Năng lực, kiến trúc, bảo trì và phương án khôi phục vẫn cần được xác định cho môi trường của tổ chức. Nhiệm vụ trước mắt là xác định nơi hạ tầng hiện tại khác với nền tảng được tài liệu hóa của Odoo 20. (Odoo 20.0 Docs: On Premise Source)

Python 3.12 trở thành mức tối thiểu

Odoo 20 nâng phiên bản Python tối thiểu từ 3.10 lên 3.12. Các đội cài đặt từ mã nguồn phải dùng Python 3.12 trở lên, thay vì dựa vào trình thông dịch đã có sẵn trên máy chủ hiện có. (Odoo 20.0 Docs: On Premise Source)

Gói Python của Odoo lấy yêu cầu tối thiểu từ MIN_PY_VERSION trong siêu dữ liệu phát hành của Odoo 20. Điều này cung cấp một tham chiếu ở cấp kho mã mà các đội kỹ thuật có thể kiểm tra cùng với tài liệu cài đặt. (Odoo Odoo Blob)

Trước khi phê duyệt nâng cấp, quản trị viên nên ghi lại phiên bản Python được chọn bởi môi trường phát triển, tự động hóa triển khai, hệ thống kiểm thử và máy chủ sản xuất. Cần kiểm tra các script gọi python hoặc python3 để xác nhận chúng phân giải tới trình thông dịch nào trong từng môi trường. (Odoo 20.0 Docs: On Premise Source; Odoo Odoo Blob)

Các add-on tùy chỉnh và quy trình cài đặt cũng nên được kiểm thử với môi trường Python 3.12 dự kiến. Mức tối thiểu của Odoo xác lập yêu cầu cho ứng dụng, nhưng các tổ chức vẫn phải xác thực mã và quy trình triển khai của riêng mình với trình thông dịch đó. (Odoo 20.0 Docs: On Premise Source)

PostgreSQL 16 thay đổi yêu cầu cơ sở dữ liệu

Phiên bản PostgreSQL được hỗ trợ tối thiểu tăng từ 13 lên 16. Các tổ chức đang chạy một major version cũ hơn sẽ cần xử lý khoảng trống cơ sở dữ liệu như một phần của dự án Odoo 20, thay vì xem PostgreSQL như một phụ thuộc không đổi. (Odoo 20.0 Docs: On Premise Source)

Kế hoạch nên xác định phiên bản PostgreSQL hiện tại, môi trường đích và quy trình xác thực cơ sở dữ liệu Odoo đã nâng cấp. Mặc dù thay đổi ứng dụng và cơ sở dữ liệu có thể được quản lý trong cùng một dự án, mỗi phần vẫn cần quyết định phù hợp về kiểm thử, sao lưu và khôi phục. (Odoo 20.0 Docs: On Premise Source)

Nền tảng PostgreSQL 16 cũng nên được dùng trong các môi trường không sản xuất. Môi trường phát triển, staging và diễn tập di chuyển thực hiện với một major version cơ sở dữ liệu khác sẽ không tái hiện yêu cầu Odoo 20 đã được tài liệu hóa. Vì vậy, cần kiểm tra tính nhất quán phiên bản trước khi chấp nhận kết quả kiểm thử. (Odoo 20.0 Docs: On Premise Source)

Tài liệu cài đặt của Odoo xác nhận phiên bản tối thiểu nhưng không quy định tổ chức riêng lẻ nên di chuyển dữ liệu như thế nào. Phương pháp di chuyển nên được chọn theo môi trường hiện có và được xác minh bằng một quy trình đã kiểm thử. (Odoo 20.0 Docs: On Premise Source)

Tính năng AI bổ sung yêu cầu pgvector

Các cài đặt Odoo tự host sử dụng tính năng AI của Odoo yêu cầu tiện ích mở rộng PostgreSQL pgvector. Đây là yêu cầu có điều kiện, không phải yêu cầu chung cho mọi cài đặt on-premise. (Odoo 20.0 Docs: On Premise Source)

Phạm vi dự án nên nêu rõ liệu các tính năng AI của Odoo có được sử dụng hay không. Nếu được đưa vào, các nhóm hạ tầng cần chuẩn bị và duy trì pgvector như một phần của môi trường PostgreSQL. Môi trường kiểm thử tương ứng cũng nên bao gồm tiện ích mở rộng này. (Odoo 20.0 Docs: On Premise Source)

Nếu chức năng AI bị loại trừ khỏi triển khai ban đầu, quyết định đó cần được ghi lại. Quyết định này nên được xem xét lại nếu bộ tính năng dự kiến thay đổi, vì việc bật các tính năng AI liên quan sẽ làm thay đổi yêu cầu về tiện ích mở rộng cơ sở dữ liệu. (Odoo 20.0 Docs: On Premise Source)

Hỗ trợ gói phụ thuộc vào hệ điều hành

Tài liệu gói của phiên bản 20 hiện tại của Odoo xác định Ubuntu 24.04 LTS cho gói Debian và Fedora 42 cho gói RPM. Các tổ chức sử dụng cài đặt theo gói nên so sánh các mục tiêu này với hệ điều hành đã chọn trước khi chọn phương thức cài đặt. (Odoo 20.0 Docs: On Premise Packages)

Các mục tiêu của gói tách biệt với các mức tối thiểu của Python và PostgreSQL. Việc đáp ứng các yêu cầu chạy và cơ sở dữ liệu không có nghĩa là một gói Odoo cụ thể được thiết kế cho bản phát hành hệ điều hành đang sử dụng. Khả năng tương thích của gói cần được kiểm tra theo tài liệu gói của Odoo. (Odoo 20.0 Docs: On Premise Source; Odoo 20.0 Docs: On Premise Packages)

Các nhóm dựa vào gói Debian được tài liệu hóa nên xác minh rằng máy chủ dự kiến đang dùng Ubuntu 24.04 LTS. Những đơn vị chọn lộ trình RPM nên thực hiện kiểm tra tương đương đối với Fedora 42. Một hệ điều hành khác có thể cần xem xét lại cách tiếp cận cài đặt. (Odoo 20.0 Docs: On Premise Packages)

Tài liệu gói nên được kiểm tra lại khi bắt đầu triển khai. Quyết định về hệ điều hành hoặc gói được đưa ra sớm trong dự án không nên thay thế việc xác minh theo tài liệu có sẵn tại thời điểm cài đặt. (Odoo 20.0 Docs: On Premise Packages)

Windows có cảnh báo khi dùng cho môi trường sản xuất

Odoo không khuyến nghị sử dụng gói Windows của mình cho các triển khai sản xuất vì những hạn chế và rủi ro đi kèm. Việc có trình cài đặt Windows không nên được hiểu là khuyến nghị cho môi trường sản xuất. (Odoo 20.0 Docs: On Premise Packages)

Nếu vẫn cân nhắc Windows cho môi trường sản xuất, quyết định nền tảng cần tính đến rõ ràng cảnh báo của Odoo. Tổ chức nên ghi lại lý do chọn Windows dù có hướng dẫn đó, và đánh giá các hạn chế cùng rủi ro đã nêu như một phần của phê duyệt triển khai. (Odoo 20.0 Docs: On Premise Packages)

Cần kiểm tra gì trước khi phê duyệt nâng cấp

Hãy bắt đầu bằng kiểm kê môi trường hiện có. Ghi lại trình thông dịch Python, phiên bản chính PostgreSQL, bản phát hành hệ điều hành, phương thức cài đặt và liệu các tính năng AI của Odoo có nằm trong phạm vi hay không. So sánh các chi tiết này với các yêu cầu đã được tài liệu hóa cho Odoo 20. (Odoo 20.0 Docs: On Premise Source; Odoo 20.0 Docs: On Premise Packages)

Tiếp theo, kiểm tra tính nhất quán giữa các môi trường. Môi trường phát triển, tiền sản xuất, diễn tập di chuyển và sản xuất nên sử dụng nền tảng Python và PostgreSQL dự kiến. Khi có kế hoạch triển khai theo gói, mục tiêu hệ điều hành nên khớp với tài liệu gói Debian hoặc RPM tương ứng. (Odoo 20.0 Docs: On Premise Source; Odoo 20.0 Docs: On Premise Packages)

Xác nhận phạm vi triển khai và phương thức cài đặt. Cài đặt từ mã nguồn, gói Debian, gói RPM và trình cài đặt Windows được bao phủ bởi các phần hướng dẫn khác nhau của Odoo. Việc đưa các tính năng AI của Odoo vào cũng quyết định liệu có cần pgvector hay không. (Odoo 20.0 Docs: On Premise Source; Odoo 20.0 Docs: On Premise Packages)

Kế hoạch nâng cấp nên bao gồm việc kiểm tra các add-on tùy chỉnh, các script tự động hóa và quy trình di chuyển cơ sở dữ liệu trong môi trường đích. Các kiểm tra này nên sử dụng Python 3.12 trở lên và PostgreSQL 16 trở lên để việc kiểm thử phản ánh các mức tối thiểu đã được tài liệu hóa của Odoo 20. (Tài liệu Odoo 20.0: Mã nguồn tại chỗ)

Cuối cùng, hãy xác minh lại tài liệu trước khi triển khai. Mức cơ sở được tài liệu hóa của Odoo 20 là Python 3.12 trở lên và PostgreSQL 16 trở lên, với pgvector là bắt buộc cho các cài đặt tự lưu trữ sử dụng các tính năng Odoo AI. Các mục tiêu gói hiện tại là Ubuntu 24.04 LTS cho gói Debian và Fedora 42 cho gói RPM, trong khi Odoo không khuyến khích đóng gói trên Windows cho môi trường sản xuất. (Tài liệu Odoo 20.0: Mã nguồn tại chỗ; Tài liệu Odoo 20.0: Gói cài đặt tại chỗ)