0
0
Lập trình
Hưng Nguyễn Xuân 1
Hưng Nguyễn Xuân 1xuanhungptithcm

Hướng Dẫn Chi Tiết Cài Đặt Odoo Trên Docker: Bước Đầu Dễ Dàng Cho Doanh Nghiệp

Đăng vào 3 tuần trước

• 4 phút đọc

Giới thiệu về Odoo và Docker

Odoo là một phần mềm mã nguồn mở phổ biến, giúp doanh nghiệp quản lý nhiều hoạt động kinh doanh khác nhau như kế toán, quản lý nhân sự, quản lý kho hàng, quản lý dự án và quản lý quan hệ khách hàng (CRM). Với một loạt các mô-đun được phát triển đặc biệt, Odoo là giải pháp tối ưu cho các doanh nghiệp vừa và nhỏ.

Bên cạnh đó, Docker là một nền tảng mã nguồn mở, giúp việc triển khai và quản lý ứng dụng trở nên dễ dàng hơn nhờ vào hệ thống container. Mỗi container có thể chứa tất cả các thành phần cần thiết để hoạt động của ứng dụng, bao gồm mã nguồn, thư viện, và các phần tử hệ thống khác. Việc sử dụng Docker đảm bảo rằng các môi trường phát triển, kiểm thử và sản xuất của bạn luôn giống nhau, từ đó giảm thiểu lỗi phát sinh do sự khác biệt giữa các môi trường.

Tại sao nên sử dụng Docker để triển khai Odoo?

Khi triển khai Odoo trên Docker, bạn có thể dễ dàng tách các thành phần như ứng dụng web Odoo và cơ sở dữ liệu PostgreSQL vào các container riêng biệt. Điều này không chỉ giúp dễ dàng quản lý mà còn giúp mở rộng quy mô và tăng tính linh hoạt trong quá trình triển khai.

Yêu cầu trước khi cài đặt Odoo

Trước khi bắt đầu quá trình cài đặt Odoo trên Docker, bạn cần đảm bảo rằng bạn đã cài đặt thành công Docker trên máy chủ hoặc máy tính của bạn. Bạn có thể tải Docker và làm theo hướng dẫn cài đặt cho hệ điều hành của bạn.

Các bước cài đặt Odoo trên Docker

1. Khởi chạy máy chủ PostgreSQL

Trước tiên, nếu bạn chưa có cơ sở dữ liệu PostgreSQL, hãy khởi chạy nó bằng lệnh sau:

Copy
docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:15

Trong đó:

  • POSTGRES_USER: tên người dùng để kết nối với cơ sở dữ liệu.
  • POSTGRES_PASSWORD: mật khẩu để kết nối cơ sở dữ liệu.
  • POSTGRES_DB: tên cơ sở dữ liệu.
  • db: tên container mà bạn sẽ sử dụng để kết nối.

2. Khởi chạy Odoo

Tiếp theo, bạn có thể khởi chạy một instance Odoo với lệnh sau:

Copy
docker run -p 8069:8069 --name odoo --link db:db -t odoo

Tên alias của container PostgreSQL được sử dụng là db để Odoo có thể kết nối.

Nếu bạn cần dừng và khởi động lại Odoo, hãy sử dụng:

Copy
docker stop odoo
Copy
docker start -a odoo

Lưu ý: Nếu gặp lỗi ERROR odoo odoo.modules.loading: Database odoo not initialized, hãy khởi chạy lệnh sau để khởi tạo cơ sở dữ liệu:

Copy
odoo --init base --database <tên database muốn khởi tạo> --stop-after-init

3. Sử dụng volumes để lưu trữ dữ liệu

Để tránh mất dữ liệu khi container bị xóa, bạn nên sử dụng Docker named volume:

Copy
docker run -v odoo-data:/var/lib/odoo -d -p 8069:8069 --name odoo --link db:db -t odoo

Volume có tên odoo-data sẽ vẫn tồn tại ngay cả khi container Odoo bị xóa. Bạn cũng có thể sử dụng named volume tương tự cho PostgreSQL:

Copy
docker run -d -v odoo-db:/var/lib/postgresql/data -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:15

4. Cấu hình Odoo tùy chỉnh

Bạn có thể sử dụng file cấu hình tùy chỉnh bằng lệnh sau:

Copy
docker run -v /path/to/config:/etc/odoo -p 8069:8069 --name odoo --link db:db -t odoo

Hoặc bạn có thể chỉ định các đối số Odoo trực tiếp trong lệnh:

Copy
docker run -p 8069:8069 --name odoo --link db:db -t odoo -- --db-filter=odoo_db_.*

5. Mount addon tùy chỉnh

Để sử dụng các addon Odoo tùy chỉnh, bạn có thể mount chúng vào container tại thư mục /mnt/extra-addons:

Copy
docker run -v /path/to/addons:/mnt/extra-addons -p 8069:8069 --name odoo --link db:db -t odoo

6. Biến môi trường

Điều chỉnh các biến môi trường sau cho phù hợp với máy chủ PostgreSQL của bạn:

  • HOST: Địa chỉ của máy chủ PostgreSQL, mặc định là db.
  • PORT: Cổng lắng nghe của máy chủ, mặc định là 5432.
  • USER: Vai trò để Odoo kết nối, mặc định là odoo.
  • PASSWORD: Mật khẩu của vai trò này, mặc định là odoo.

Ví dụ về Docker Compose

Để quản lý dễ dàng, bạn có thể sử dụng Docker Compose với file docker-compose.yml đơn giản:

Copy
version: '3.1'
services:
  web:
    image: odoo:17.0
    depends_on:
      - db
    ports:
      - "8069:8069"
  db:
    image: postgres:15
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_PASSWORD=odoo
      - POSTGRES_USER=odoo

Kết luận

Qua bài viết này, hy vọng bạn đã có thể cài đặt và cấu hình Odoo trên Docker một cách dễ dàng. Hãy theo dõi phần 2 để biết thêm nhiều mẹo và hướng dẫn chi tiết hơn.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào