Files
HOALedgerIQ_Website/DEPLOY_README.md
olsch01 5319bcd30b feat: Add Chatwoot Agent Bot prototype and FAQ knowledge base
- 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
2026-04-01 16:26:05 -04:00

120 lines
3.0 KiB
Markdown

# Deployment Setup Guide
This guide covers the deployment script and GitHub Actions workflow for HOALedgerIQ_Website.
## Files Created
1. **`deploy.sh`** - Server-side deployment script
2. **`.github/workflows/deploy.yml`** - GitHub Actions workflow
## Server Setup
### 1. Copy the deployment script to your server
```bash
# 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
```bash
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
```bash
# 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
1. **On every push to `main`**: GitHub Actions triggers the workflow
2. **SSH connection**: The workflow connects to your Debian server
3. **Deploy script runs**: Executes `deploy.sh` which:
- 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:
```bash
# On your server
cd /home/ubuntu/www
./deploy.sh
```
## Troubleshooting
### Service won't start
```bash
# Check service status
sudo systemctl status hoaledgeriq
# View logs
sudo journalctl -u hoaledgeriq -f
```
### Git pull fails
```bash
# 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
```