SELF HOSTING

Hướng dẫn chi tiết cài đặt NocoBase với Docker trên Ubuntu

NocoBase là một nền tảng no-code/low-code mã nguồn mở mạnh mẽ, cho phép bạn xây dựng các ứng dụng kinh doanh tùy chỉnh mà không cần viết mã. Từ quản lý dự án, CRM, đến các hệ thống nội bộ, NocoBase cung cấp giao diện trực quan và khả năng mở rộng vượt trội. Trong bài viết này, tôi sẽ chia sẻ kinh nghiệm cá nhân về cách cài đặt NocoBase với Docker Compose trên Ubuntu, từ chuẩn bị môi trường đến truy cập ứng dụng. Với hướng dẫn này, bạn sẽ có một instance NocoBase hoạt động mượt mà chỉ trong vài bước.

Giới thiệu về NocoBase và lợi ích của Docker Compose

NocoBase là một công cụ no-code/low-code được thiết kế để đáp ứng nhu cầu phát triển ứng dụng nhanh chóng. Không giống như các nền tảng truyền thống yêu cầu lập trình phức tạp, NocoBase cho phép người dùng tạo ứng dụng thông qua giao diện kéo-thả, hỗ trợ các cơ sở dữ liệu như PostgreSQL, MySQL, và SQLite. Từ kinh nghiệm triển khai các dự án no-code, tôi nhận thấy NocoBase nổi bật nhờ tính linh hoạt và khả năng tích hợp với các hệ thống bên ngoài.

Sử dụng Docker Compose trên Ubuntu giúp đơn giản hóa việc triển khai NocoBase. Docker Compose cho phép bạn định nghĩa và quản lý nhiều container (như NocoBase và cơ sở dữ liệu) trong một file YAML duy nhất. Ubuntu, với sự ổn định và cộng đồng hỗ trợ rộng lớn, là môi trường lý tưởng để chạy các ứng dụng container hóa như NocoBase.

Tại sao chọn Docker Compose?

  • Dễ dàng triển khai: Chỉ cần một lệnh để khởi động toàn bộ hệ thống.
  • Tính nhất quán: Đảm bảo môi trường hoạt động giống nhau trên các máy khác nhau.
  • Khả năng mở rộng: Dễ dàng thêm dịch vụ hoặc điều chỉnh cấu hình khi cần.

Chuẩn bị môi trường cài đặt trên Ubuntu

Để cài đặt NocoBase thành công, bạn cần chuẩn bị môi trường Ubuntu với các yêu cầu phần cứng và phần mềm phù hợp. Dựa trên kinh nghiệm, việc kiểm tra kỹ các điều kiện này giúp tránh lỗi trong quá trình cài đặt.

Yêu cầu hệ thống

Yếu tốTối thiểuKhuyến nghị
Hệ điều hànhUbuntu 20.04 hoặc 22.04Ubuntu 22.04
RAM2GB4GB
CPU1 core2 core
Dung lượng đĩa20GB50GB

Ngoài ra, bạn cần quyền quản trị (sudo) và kết nối internet ổn định để tải các gói cài đặt.

Cài đặt Docker trên Ubuntu

Docker là nền tảng để chạy NocoBase trong container. Nếu bạn chưa cài Docker, hãy làm theo các bước sau:

  1. Cập nhật danh sách gói:
sudo apt update
  1. Cài đặt các gói phụ thuộc:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
  1. Thêm khóa GPG của Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  1. Thêm kho lưu trữ Docker:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. Cập nhật danh sách gói và cài đặt Docker:
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
  1. Kích hoạt và kiểm tra Docker:
sudo systemctl start docker
sudo systemctl enable docker
docker --version
  1. Thêm người dùng vào nhóm Docker:
    Để chạy lệnh Docker mà không cần sudo, thêm người dùng hiện tại vào nhóm docker:
sudo usermod -aG docker $USER

Đăng xuất và đăng nhập lại để áp dụng thay đổi.

Cài đặt Docker Compose

Docker Compose là công cụ quản lý các container của NocoBase. Chúng ta sẽ cài đặt phiên bản standalone cho tính tương thích:

  1. Tải Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  1. Cấp quyền thực thi:
sudo chmod +x /usr/local/bin/docker-compose
  1. Kiểm tra cài đặt:
docker-compose --version

Bạn sẽ thấy phiên bản, ví dụ: Docker Compose version v2.20.0.

Tạo file Docker Compose cho NocoBase

File docker-compose.yml định nghĩa hai dịch vụ: ứng dụng NocoBase và cơ sở dữ liệu PostgreSQL. Dưới đây là cách thiết lập file này, dựa trên cấu hình chính thức từ NocoBase documentation.

Tạo và cấu hình file

  1. Tạo thư mục dự án:
mkdir nocobase && cd nocobase
  1. Tạo file docker-compose.yml:
nano docker-compose.yml
  1. Dán nội dung sau:
version: "3"
networks:
  nocobase:
    driver: bridge
services:
  app:
    image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:latest
    networks:
      - nocobase
    depends_on:
      - postgres
    environment:
      - APP_KEY=your-secret-key
      - DB_DIALECT=postgres
      - DB_HOST=postgres
      - DB_DATABASE=nocobase
      - DB_USER=nocobase
      - DB_PASSWORD=your-secure-password
      - TZ=Asia/Ho_Chi_Minh
    volumes:
      - ./storage:/app/nocobase/storage
    ports:
      - "13000:80"
  postgres:
    image: postgres:14
    restart: always
    environment:
      POSTGRES_USER: nocobase
      POSTGRES_DB: nocobase
      POSTGRES_PASSWORD: your-secure-password
    volumes:
      - ./storage/db/postgres:/var/lib/postgresql/data
    networks:
      - nocobase
  1. Tùy chỉnh cấu hình:
  • APP_KEY: Tạo khóa bí mật bằng lệnh: bash openssl rand -hex 32
    Thay your-secret-key bằng chuỗi này.
  • DB_PASSWORD: Thay your-secure-password bằng mật khẩu mạnh, ví dụ: P@ssw0rd123!.
  • TZ: Đặt múi giờ là Asia/Ho_Chi_Minh hoặc múi giờ phù hợp.

Giải thích cấu hình

  • networks: Tạo mạng nocobase để các container giao tiếp.
  • services:
    • app: Chạy NocoBase, sử dụng image từ Alibaba Cloud registry. Ánh xạ cổng 13000 (host) đến 80 (container).
    • postgres: Chạy PostgreSQL 14, lưu trữ dữ liệu trong volume.
  • volumes: Lưu trữ dữ liệu NocoBase và PostgreSQL để tránh mất dữ liệu khi container dừng.
  • environment: Thiết lập thông tin kết nối cơ sở dữ liệu và múi giờ.

Triển khai và truy cập NocoBase

Sau khi cấu hình file, bạn sẵn sàng triển khai NocoBase.

Triển khai NocoBase

  1. Khởi động container:
docker-compose up -d

Lệnh này tải image, tạo container và chạy ở chế độ nền.

  1. Kiểm tra trạng thái:
docker-compose ps

Đảm bảo cả apppostgres đều ở trạng thái Up.

  1. Xem logs (nếu cần):
docker-compose logs

Logs giúp phát hiện lỗi khởi động, nếu có.

Truy cập NocoBase

  1. Mở trình duyệt:
    Truy cập http://localhost:13000. Nếu chạy trên máy chủ từ xa, thay localhost bằng địa chỉ IP.
  2. Đăng ký tài khoản admin:
  • Nhập email và mật khẩu mạnh.
  • Đăng ký để truy cập bảng điều khiển NocoBase.
  1. Bắt đầu sử dụng:
    Tạo dự án, thiết lập bảng dữ liệu, hoặc tích hợp plugin theo nhu cầu.

Xử lý sự cố thường gặp

Dựa trên kinh nghiệm triển khai, đây là một số vấn đề phổ biến và cách khắc phục:

  • Cổng 13000 bị chiếm dụng:
  • Kiểm tra: sudo netstat -tuln | grep 13000.
  • Thay đổi cổng trong docker-compose.yml, ví dụ: 13001:80.
  • Lỗi kết nối cơ sở dữ liệu:
  • Kiểm tra biến DB_* trong docker-compose.yml.
  • Đảm bảo container postgres đang chạy: docker ps.
  • Dữ liệu bị mất:
  • Xác nhận volume được ánh xạ đúng.
  • Kiểm tra volume: docker volume ls.
  • Container không khởi động:
  • Xem logs: docker-compose logs.
  • Kiểm tra image hoặc cấu hình sai.

Cập nhật và bảo trì NocoBase

  • Cập nhật NocoBase:
docker-compose pull
docker-compose up -d
  • Sao lưu dữ liệu:
docker-compose down
tar -czvf nocobase_backup.tar.gz ./storage
  • Dừng container:
docker-compose down

Để xóa cả dữ liệu: docker-compose down -v.


Cài đặt NocoBase với Docker Compose trên Ubuntu là một quá trình đơn giản, giúp bạn nhanh chóng triển khai một nền tảng no-code/low-code mạnh mẽ. Từ chuẩn bị môi trường, tạo file Docker Compose, đến truy cập ứng dụng, hướng dẫn này đã bao quát mọi bước cần thiết. NocoBase không chỉ dễ sử dụng mà còn cung cấp khả năng tùy chỉnh cao, phù hợp cho cả doanh nghiệp nhỏ và lớn.

Hãy bắt đầu bằng cách triển khai trên máy cục bộ hoặc VPS. Để bảo mật, sử dụng mật khẩu mạnh và cân nhắc thiết lập reverse proxy với HTTPS. Bạn đã sẵn sàng khám phá NocoBase chưa? Nếu gặp vấn đề, hãy tham khảo tài liệu NocoBase hoặc để lại câu hỏi, tôi sẽ hỗ trợ dựa trên kinh nghiệm của mình!

You may also like

Nhận thông báo qua email
Nhận thông báo cho
guest

0 Bình luận
Mới nhất
Cũ nhất Nhiều like nhất
Phản hồi nội tuyến
Xem tất cả bình luận