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

3.0 KiB

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

# 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

  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:

# 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