Triển khai Odoo trên VPS

  Sep 23, 2025      2m      0   
 

Tut 20: Triển khai Odoo trên VPS

Triển khai Odoo trên VPS

Odoo Tut 20: Triển khai Odoo trên VPS

Bài viết này sẽ hướng dẫn bạn cách triển khai Odoo trên VPS (Virtual Private Server). Bạn có thể hình dung sau khi triển khai bạn sẽ truy cập vào Odoo trên VPS từ internet thông qua trình duyệt web bằng tên miền kiểu như https://odoo.example.com.

Ví dụ Minh đã tự triển khai Odoo trên VPS của mình để xử lý đơn hàng bán hàng của mình tại https://sales.minhng.info (mình công khai để ví dụ, các bạn đừng hack nhaa :v), chi phí chỉ tốn tổng cộng chỉ ~200k/tháng (bao gồm tiền VPS & tên miền).

Các bước bạn sẽ cần làm để có thể tự triển khai Odoo trên VPS (self-host trên VPS) bao gồm:

  • Thuê VPS
  • Cài đặt Odoo trên VPS
  • Mua tên miền
  • Cài đặt proxy

Hãy bỏ qua các bước bạn đã làm rồi hoặc có rồi cho tiết kiệm thời gian nhen ^^).

Thuê VPS

minhng.info đề xuất thuê VPS từ những nhà cung cấp sau (Minh đã tìm hiểu ưu tiên giá rẻ & đã trải nghiệm hơn 2 năm):

Lưu ý: bảng giá thuê VPS từ các nhà cung cấp có thể chưa bao gồm VAT (thuế GTGT), nên bạn hãy kiểm tra kỹ giá tiền cuối cùng tại bước thanh toán trước khi mua!

Cấu hình tối thiểu cho Odoo, Minh đều xuất:

  • 2 CPU Core
  • ≥ 2 GB RAM
  • ≥ 20 GB SSD
Cấu hìnhMinimumRecommend
CPU2 Core≥ 2 Core
RAM2 GB≥ 4 GB
SSD20 GB≥ 40 GB
Hệ điều hànhUbuntu 22.04 / 24.04 LTSUbuntu 22.04 / 24.04 LTS


Lưu ý: cấu hình VPS càng mạnh thì Odoo chạy càng mượt mà và có thể xử lý nhiều người sử dụng cùng một lúc; do đó tùy quy mô doanh nghiệp của bạn để chọn cấu hình VPS phù hợp.

  • Nếu bạn là một sinh viên đang học môn học, chỉ nên thuê VPS theo cấu hình tối thiểu (Minimum) để self-host cho một mình bạn sử dụng (hoặc thêm đồng đội trong nhóm)
  • Nếu bạn là một Odoo developer hoặc quyết định sẽ dấn thân vào Odoo, nên thuê cấu hình VPS theo cột đề xuất (Recommend)

VPS ta có thể host nhiều instance Odoo cho nhiều môi trường development khác nhau như:

  • Dev (nên sử dụng localhost máy cá nhân cho tiết kiệm)
  • UAT / Staging -> môi trường test trước khi deploy lên production
  • Production -> môi trường nơi "khách hàng" sẽ sử dụng thật! (S.O.S hãy cẩn thận khi thao tác với nó, hẹ hẹ)

Cài đặt Odoo trên VPS

Sau khi thuê VPS thành công, ta sẽ có credential (user / password / public IP của VPS) để kết nối từ xa với VPS thông qua SSH. Lệnh kết nối ví dụ: ssh root@<Public IP> sau đó gõ mật khẩu.

Trước khi cài đặt Odoo, bạn hãy cài đặt:

Để kiểm tra xem Docker đã cài đặt thành công chưa, bạn hãy chạy lệnh các lệnh sau:

docker --version
docker-compose --version

Kết quả cho cài đặt thành công:

Docker version 27.3.1, build ce12230
Docker Compose version v2.30.1

Cài đặt thêm package cần thiết:

sudo apt install -y curl git

Cài đặt Odoo 18 trên VPS bằng một lệnh duy nhất:

curl -s https://raw.githubusercontent.com/minhng92/odoo-18-docker-compose/master/run.sh | bash -s odoo-one 10018 20018

Repository Minh công khai toàn bộ mã nguồn triển khai Odoo mở tại https://github.com/minhng92/odoo-18-docker-compose. Nếu bạn cần cài đặt phiên bản cũ hơn, hãy thay đổi phiên bản Odoo trên URL, ví dụ: https://github.com/minhng92/odoo-17-docker-compose.

Sau khi chạy xong lệnh trên, bạn hãy truy cập vào Odoo thông qua IP của VPS và port 10018 (ví dụ: http://PublicIP:10018).

Xong bước này, bạn đã có thể self-host Odoo trên VPS của mình. Tuy nhiên, để truy cập Odoo thông qua tên miền, bạn cần phải mua tên miền và cài đặt proxy.

Mua tên miền

Bảng giá tên miền tham khảo (tại ngày 23/09/2025):

Lưu ý:

  • Giá nêu trên có thể chưa bao gồm VAT (thuế GTGT), nên bạn hãy kiểm tra kỹ giá tiền cuối cùng tại bước thanh toán trước khi mua.
  • Giá tên miền có thể thay đổi, giá nêu trên chỉ là tham khảo tại thời điểm của bài viết.

Cấu hình trỏ tên miền vào VPS:

  • Thông thường, ta sẽ cấu hình subdomain để trỏ vào Odoo.
  • Hãy cấu hình tương tự như hình bên dưới:
    • Name: tên subdomain (ví dụ: sales)
    • Type: A
    • Content: IP của VPS
    • Prio và TTL có thể để mặc định

Subdomain config on Vietnix

Cài đặt proxy

Trên VPS, ta sẽ cài đặt proxy để chuyển hướng truy cập từ tên miền sang Odoo. Ta sẽ sử dụng Caddy để làm proxy. Caddy là một proxy server mã nguồn mở, đơn giản và dễ dàng cài đặt. Caddy sẽ tự động lấy SSL certificate từ Let's Encrypt để đảm bảo kết nối an toàn (https).

caddy/docker-compose.yml

services:
  caddy:
    image: caddy:2.9.1-alpine       # bạn có thể cập nhật phiên bản mới hơn
    container_name: caddy
    restart: unless-stopped
    network_mode: host
    volumes:
      - $PWD/Caddyfile:/etc/caddy/Caddyfile
      - $PWD/site:/srv
      - $PWD/caddy_data:/data
      - $PWD/config:/config
    logging:
      driver: "json-file"
      options:
        max-size: "10m"

caddy/Caddyfile

# The Caddyfile is an easy way to configure your Caddy web server.
#
# Unless the file starts with a global options block, the first
# uncommented line is always the address of your site.
#
# To use your own domain name (with automatic HTTPS), first make
# sure your domain's A/AAAA DNS records are properly pointed to
# this machine's public IP, then replace ":80" below with your
# domain name.

import /config/*.conf

# ------------------------------------
# Refer to the Caddy docs for more information:
# https://caddyserver.com/docs/caddyfile

caddy/config/sales.conf

odoo.example.com {
    reverse_proxy localhost:10018
}

Hãy thay odoo.example.com thành tên miền triển khai của bạn!

Triển khai Caddy bằng lệnh:

cd caddy
docker-compose up -d

Do ta đã thiết lập proxy để chuyển hướng từ tên miền, vì vậy Odoo service chỉ nên expose trên localhost thay vì 0.0.0.0; nhằm tránh bên ngoài gọi trực tiếp kiểu http://<IP của VPS>:10018, mà ta chỉ cho phép gọi thông qua tên miền https://odoo.example.com

odoo/docker-compose.yml

# ...
  ports:
    - "127.0.0.1:10018:8069"
# ...

Khi triển khai Odoo production, bạn hãy nhớ đóng truy cập vào database list để đảm bảo an toàn nhé bằng cách sửa cấu hình trong file odoo.conf. Và hãy sửa mật khẩu database mặc định cho Odoo thành mật khẩu mạnh hơn.

odoo/etc/odoo.conf

# ...
list_db = False
# ...
admin_passwd = <mt khu ca bn>
# ...


Chúc bạn triển khai Odoo trên VPS thành công :)!


Hãy tham gia group Facebook để trao đổi và học hỏi thêm về Odoo nhé các bạn => Khám phá Odoo: https://facebook.com/groups/odoo-dev

Cài đặt Odoo:

Danh sách bài viết series Odoo:

Tham gia ngay group trên Facebook để cùng thảo luận với đồng bọn nhé:

Khám phá Odoo