รันบนเซิร์ฟเวอร์

Celerp ทำงานบนฮาร์ดแวร์ของคุณเองเสมอ แอปเดสก์ท็อปเปลี่ยนคอมพิวเตอร์ของคุณให้เป็นเซิร์ฟเวอร์ได้ในคลิกเดียว คู่มือนี้สำหรับกรณีที่อยากรันบนเซิร์ฟเวอร์ Linux แยกต่างหากที่เปิดตลอดเวลา (VPS หรือเซิร์ฟเวอร์ที่บ้าน) เพื่อให้ทั้งสำนักงานเข้าใช้ได้ตลอด 24 ชั่วโมง โดยใช้ pip install celerp ชุดเดียวกับบนเดสก์ท็อป ใช้ได้กับเซิร์ฟเวอร์ Linux ทุกตัว

ข้อกำหนด

  • Python 3.11+
  • Postgres 14+ (กำลังทำงานและเข้าถึงได้)
  • ผู้ใช้ที่มีสิทธิ์ sudo (จำเป็นสำหรับ celerp init เพื่อสร้างผู้ใช้และฐานข้อมูล Postgres)

ติดตั้งและเริ่มต้นใช้งาน

pip install celerp
celerp init

celerp init เป็นคำสั่งแบบโต้ตอบ โดยจะ:

  • ขอ URL การเชื่อมต่อ Postgres (หรือยอมรับค่าเริ่มต้น: postgresql+asyncpg://celerp:celerp@localhost:5432/celerp)
  • สร้างผู้ใช้และฐานข้อมูล Postgres (ผ่าน sudo -u postgres psql)
  • สร้าง JWT secret
  • รัน migration
  • เขียนไฟล์ตั้งค่า (~/.celerp/config.toml)

เริ่มเซิร์ฟเวอร์

celerp start

คำสั่งนี้จะเริ่มสองโพรเซส:

  • เซิร์ฟเวอร์ API บนพอร์ต 8000
  • เซิร์ฟเวอร์ UI บนพอร์ต 8080

เปิด http://your-server-ip:8080 ในเบราว์เซอร์เพื่อเข้าถึง Celerp

รันเป็นบริการ systemd

เพื่อให้ Celerp ทำงานต่อหลังออกจากระบบและเริ่มอัตโนมัติเมื่อรีบูต:

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)

ถ้าต้องการเปิดให้เข้าถึง Celerp ผ่านโดเมนด้วย HTTPS ให้ proxy ทั้ง UI และ API ผ่าน 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;
}

ใช้ Certbot เพื่อขอใบรับรอง SSL ฟรี

การอัปเกรด

celerp upgrade

คำสั่งนี้จะรัน pip install --upgrade celerp แล้วรัน migration ที่ค้างอยู่ให้อัตโนมัติ

หลายผู้ใช้ผ่าน LAN

ถ้าคุณรัน Celerp บนเครื่องในเครือข่ายภายในของออฟฟิศ ผู้ใช้คนอื่นในเครือข่ายเดียวกันเข้าถึงได้จากเบราว์เซอร์ที่ http://your-machine-ip:8080 อย่าลืมตั้งไฟร์วอลล์ให้อนุญาตการเชื่อมต่อขาเข้าที่พอร์ต 8000 และ 8080