Chạy trên máy chủ

Celerp luôn chạy trên phần cứng của riêng bạn - ứng dụng máy tính biến máy của bạn thành máy chủ chỉ với một cú nhấp. Hướng dẫn này dành cho việc chạy nó trên một máy chủ Linux riêng, luôn bật (VPS hoặc máy chủ tại nhà), để cả văn phòng có thể truy cập suốt ngày đêm. Cùng đường dẫn pip install celerp dùng trên máy tính cũng hoạt động trên bất kỳ máy chủ Linux nào.

Yêu cầu

  • Python 3.11+
  • Postgres 14+ (đang chạy và có thể truy cập)
  • Một người dùng có quyền sudo (cần thiết để celerp init tạo người dùng và cơ sở dữ liệu Postgres)

Cài đặt & khởi tạo

pip install celerp
celerp init

celerp init có tính tương tác. Nó sẽ:

  • Yêu cầu URL kết nối Postgres (hoặc chấp nhận mặc định: postgresql+asyncpg://celerp:celerp@localhost:5432/celerp)
  • Tạo người dùng và cơ sở dữ liệu Postgres (qua sudo -u postgres psql)
  • Tạo khóa bí mật JWT
  • Chạy migration
  • Ghi tệp cấu hình (~/.celerp/config.toml)

Khởi động máy chủ

celerp start

Lệnh này khởi động hai tiến trình:

  • Máy chủ API trên cổng 8000
  • Máy chủ giao diện trên cổng 8080

Mở http://your-server-ip:8080 trong trình duyệt để truy cập Celerp.

Chạy như một dịch vụ systemd

Để Celerp tiếp tục chạy sau khi đăng xuất và tự khởi động khi khởi động lại:

sudo tee /etc/systemd/system/celerp.service <<EOF
[Unit]
Description=Celerp ERP
After=network.target postgresql.service

[Service]
Type=simple
User=$USER
ExecStart=$(which celerp) start
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now celerp

Reverse Proxy (nginx + HTTPS)

Để công khai Celerp trên một tên miền với HTTPS, hãy proxy cả giao diện và API qua nginx:

server {
    server_name erp.yourdomain.com;

    # UI
    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # API
    location /api/ {
        proxy_pass http://localhost:8000/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    listen 443 ssl;
    ssl_certificate /etc/letsencrypt/live/erp.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/erp.yourdomain.com/privkey.pem;
}

Dùng Certbot để lấy chứng chỉ SSL miễn phí.

Nâng cấp

celerp upgrade

Lệnh này chạy pip install --upgrade celerp và tự động áp dụng mọi migration đang chờ.

Nhiều người dùng qua LAN

Nếu bạn chạy Celerp trên một máy trong mạng nội bộ, những người dùng khác trong cùng mạng có thể truy cập từ trình duyệt tại http://your-machine-ip:8080. Hãy đảm bảo tường lửa của bạn cho phép kết nối đến trên các cổng 8000 và 8080.