- Created chatwoot-agent-bot/ with Node.js webhook server - Bot detects intent (greeting, billing, technical, features, account) - Auto-responds from FAQ knowledge base or escalates to human - FAQ-KB.md: Living knowledge base that grows with customer questions - CHATWOOT-SETUP.md: Complete deployment and configuration guide - Supports Telegram notifications on escalation - Bot runs on port 3001, ready for Chatwoot webhook integration
3.0 KiB
3.0 KiB
Deployment Setup Guide
This guide covers the deployment script and GitHub Actions workflow for HOALedgerIQ_Website.
Files Created
deploy.sh- Server-side deployment script.github/workflows/deploy.yml- GitHub Actions workflow
Server Setup
1. Copy the deployment script to your server
# SSH into your Debian server
ssh ubuntu@your-server-ip
# Copy the deploy script
cd /home/ubuntu/www
curl -O https://raw.githubusercontent.com/your-org/HOALedgerIQ_Website/main/deploy.sh
# Or copy it manually via scp
2. Make it executable
chmod +x deploy.sh
3. Configure environment variables (optional)
The script uses these defaults, but you can override them:
| Variable | Default | Description |
|---|---|---|
DEPLOY_DIR |
/home/ubuntu/www |
Application directory |
SERVICE_NAME |
hoaledgeriq |
Debian service name |
GIT_REMOTE |
origin |
Git remote name |
GIT_BRANCH |
main |
Branch to deploy |
CACHE_CLEAR_CMD |
rm -rf cache/* |
Cache clearing command |
You can set these in /etc/environment, .bashrc, or pass them inline.
GitHub Secrets Setup
Add these secrets to your GitHub repository (Settings → Secrets and variables → Actions):
| Secret | Description | Example |
|---|---|---|
DEPLOY_HOST |
Server IP or hostname | 192.168.1.100 or server.example.com |
DEPLOY_USERNAME |
SSH username | ubuntu |
DEPLOY_SSH_KEY |
Private SSH key for deployment | -----BEGIN OPENSSH PRIVATE KEY-----... |
DEPLOY_PORT |
SSH port (optional) | 22 |
DEPLOY_DIR |
Deploy directory (optional) | /home/ubuntu/www |
SERVICE_NAME |
Service name (optional) | hoaledgeriq |
GIT_BRANCH |
Branch to deploy (optional) | main |
Generate SSH Key for GitHub Actions
# On your local machine
ssh-keygen -t ed25519 -C "github-actions-deploy" -f github-actions-deploy
# Copy public key to server
ssh-copy-id -i github-actions-deploy.pub ubuntu@your-server-ip
# Get private key content for GitHub secret
cat github-actions-deploy | pbcopy
How It Works
- On every push to
main: GitHub Actions triggers the workflow - SSH connection: The workflow connects to your Debian server
- Deploy script runs: Executes
deploy.shwhich:- Pulls latest code from git
- Clears application cache
- Restarts the service
- Verifies the service is running
Testing
Before enabling auto-deploy, test the script manually:
# On your server
cd /home/ubuntu/www
./deploy.sh
Troubleshooting
Service won't start
# Check service status
sudo systemctl status hoaledgeriq
# View logs
sudo journalctl -u hoaledgeriq -f
Git pull fails
# Check git remote
git remote -v
# Verify SSH keys on server
ssh -T git@github.com
Permission issues
Ensure the deploy user has:
- Write access to the deploy directory
- Permission to restart the service (via sudo)
Add to /etc/sudoers:
ubuntu ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart hoaledgeriq