Skip to main content

A professional web-based management panel for Frappe/ERPNext bench

Project description

BenchBoard Panel

BenchBoard Panel là công cụ quản lý giao diện web chuyên nghiệp dành cho hệ thống Frappe / ERPNext, giúp bạn dễ dàng quản lý Sites, Apps, Logs, và truy cập Terminal ngay trên trình duyệt mà không cần sử dụng command line.

BenchBoard được thiết kế linh hoạt với kiến trúc Python Package giúp cho việc cài đặt và cập nhật trở nên cực kỳ dễ dàng.


⚡️ Các tính năng nổi bật

  • Quản lý Site: Xem danh sách các site hiện có trên bench, thông tin chi tiết (tên miền, database, port).
  • Quản lý App: Liệt kê các ứng dụng (Apps) đã được cài đặt trên từng site cùng với phiên bản.
  • Terminal Web: Tích hợp terminal (xterm.js) ngay trên trình duyệt, có khả năng chạy lệnh hệ thống hoặc SSH vào máy chủ nội bộ.
  • Quản lý Node (Local/SSH): Có thể quản lý các cụm bench từ xa qua SSH thay vì chỉ máy local.
  • Quản lý Backup: Tạo và phục hồi bản sao lưu (database, files) cho các site chỉ bằng 1 click.
  • Responsive Design: Thiết kế giao diện hiện đại, tối ưu cho cả máy tính và thiết bị di động.

🚀 Hướng dẫn cài đặt

Vì BenchBoard Panel đã được đóng gói thành một Python Package chuẩn, việc cài đặt giờ đây chỉ tốn của bạn vài giây.

Yêu cầu hệ thống

  • Hệ điều hành: Linux (Ubuntu, Debian, CentOS, WSL2...)
  • Python: 3.10 trở lên.
  • Đã cài đặt Frappe Bench (có thư mục frappe-bench).

Cài đặt nhanh

Bước 1: Cài đặt package vào môi trường ảo (virtual environment) của Frappe để có sẵn mọi dependencies:

cd /home/brian/frappe-bench
./env/bin/pip install -e "/home/brian/frappe-bench/bench_board_panel"

(Lưu ý: Lệnh này đang dùng đường dẫn local để test. Sau khi publish lên PyPI, lệnh sẽ đơn giản là pip install benchboard-panel)

Bước 2: Link lệnh bb ra toàn cầu (global) để dễ dàng gõ từ bất cứ đâu:

mkdir -p ~/.local/bin
ln -sf /home/brian/frappe-bench/env/bin/bb ~/.local/bin/bb

Bước 3: Cài đặt dịch vụ chạy ngầm (systemd): Lệnh này sẽ tự động sinh file cấu hình và cài đặt systemd.

bb install

🛠 Hướng dẫn sử dụng CLI (bb)

BenchBoard đi kèm với một công cụ CLI chuyên nghiệp viết bằng Python.

Dưới đây là các lệnh cơ bản:

Lệnh Chức năng
bb start Khởi động (hoặc khởi động lại) BenchBoard Panel.
bb stop Dừng BenchBoard Panel.
bb restart Khởi động lại dịch vụ.
bb status Xem trạng thái hiện tại (đang chạy/đã dừng) và các URLs để truy cập.
bb logs Xem logs hệ thống theo thời gian thực (giống tail -f). Bấm Ctrl+C để thoát.
bb enable Bật tính năng tự động khởi chạy cùng hệ thống (khi máy chủ khởi động).
bb disable Tắt tính năng khởi chạy cùng hệ thống.
bb --version Xem phiên bản BenchBoard hiện tại.
bb --help Hiển thị tất cả các câu lệnh hỗ trợ.

🌐 Truy cập Panel

Sau khi chạy lệnh bb start, bạn mở trình duyệt và truy cập:

  • Giao diện quản lý (Frontend): http://localhost:8300
  • Tài liệu API Backend (Swagger UI): http://localhost:8300/api/docs

Lưu ý về đăng nhập: BenchBoard xác thực bằng chính tài khoản của hệ thống Frappe. Sử dụng tài khoản Administrator hoặc bất kỳ tài khoản nào có quyền System Manager trên Frappe để đăng nhập.


🔧 Kiến trúc & Cấu hình nâng cao

BenchBoard Panel bao gồm:

  1. Frontend: Xây dựng bằng React, Vite, và TailwindCSS. Khi đóng gói, frontend được build thành file tĩnh (index.html, js, css).
  2. Backend: API viết bằng FastAPI, phục vụ cả API endpoints lẫn Frontend tĩnh trên cùng một port (8300).

Tùy chỉnh cấu hình

Nếu bạn muốn đổi port chạy BenchBoard hoặc bench_path, hãy dùng file .env ẩn của hệ thống: File cấu hình được đặt tại: ~/.config/benchboard/config.env

Ví dụ nội dung file:

BENCHBOARD_PORT=9000
BENCHBOARD_BENCH_PATH=/var/www/frappe-bench

Sau khi sửa file, chạy bb restart để áp dụng cấu hình.


👨‍💻 Hướng dẫn dành cho Lập trình viên (Developer)

Nếu bạn muốn đóng góp code hoặc tuỳ biến giao diện:

  1. Khởi động Backend (Dev mode): Chế độ dev sẽ theo dõi và hot-reload khi bạn sửa code python.

    bb start --dev
    
  2. Khởi động Frontend (Dev mode): Để làm việc với giao diện Vite:

    cd frontend
    npm install
    npm run dev
    

    (Lúc này giao diện dev sẽ chạy ở port 5173)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

benchboard_panel-0.3.1.tar.gz (207.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

benchboard_panel-0.3.1-py3-none-any.whl (212.6 kB view details)

Uploaded Python 3

File details

Details for the file benchboard_panel-0.3.1.tar.gz.

File metadata

  • Download URL: benchboard_panel-0.3.1.tar.gz
  • Upload date:
  • Size: 207.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for benchboard_panel-0.3.1.tar.gz
Algorithm Hash digest
SHA256 dacc3e143a9e0069c0e4e8375d1a04c100ec7b1574c8361694066f8bc8c88585
MD5 f2477d3bfc52296acb2d56e4411ff318
BLAKE2b-256 a9d7733959215a3745262032fff680ad7d6c64b83e49bab95c18f5e26e9be8e7

See more details on using hashes here.

File details

Details for the file benchboard_panel-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for benchboard_panel-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d0399c7245f43404103b3304d694e2ad3a0db04dcefa6a05cc15d24c7a97dd2a
MD5 433956507969383abbafbb7156455b31
BLAKE2b-256 7ab13fd195e72b2d6bacaf3b51dedf36f886759195da08ebafb0d8c716dd15b9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page