Documentation Updates: - Updated project specification with hkia naming and paths - Modified all markdown documentation files (12 files updated) - Changed service names from hvac-content-* to hkia-content-* - Updated NAS paths from /mnt/nas/hvacknowitall to /mnt/nas/hkia - Replaced all instances of "HVAC Know It All" with "HKIA" Files Updated: - README.md - Updated service names and commands - CLAUDE.md - Updated environment variables and paths - DEPLOY.md - Updated deployment instructions - docs/project_specification.md - Updated naming convention specs - docs/status.md - Updated project status with new naming - docs/final_status.md - Updated completion status - docs/deployment_strategy.md - Updated deployment paths - docs/DEPLOYMENT_CHECKLIST.md - Updated checklist items - docs/PRODUCTION_TODO.md - Updated production tasks - BACKLOG_STATUS.md - Updated backlog references - UPDATED_CAPTURE_STATUS.md - Updated capture status - FINAL_TALLY_REPORT.md - Updated tally report Notes: - Repository name remains hvacknowitall-content (unchanged) - Project directory remains hvac-kia-content (unchanged) - All user-facing outputs now use clean "hkia" naming 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
3 KiB
3 KiB
Deployment Instructions
Prerequisites
Ensure the following are completed:
- Python environment is set up with
uv - All dependencies installed:
uv pip install -r requirements.txt .envfile configured with API credentials- Test run successful:
uv run python run_api_production_v2.py
Deploy to Production
Option 1: Automated Installation (Recommended)
cd /home/ben/dev/hvac-kia-content/deploy
sudo ./install.sh
This will:
- Copy systemd service files to
/etc/systemd/system/ - Enable and start the timers
- Show service status
Option 2: Manual Installation
# Copy service files
sudo cp deploy/*.service /etc/systemd/system/
sudo cp deploy/*.timer /etc/systemd/system/
# Reload systemd
sudo systemctl daemon-reload
# Enable timers (start on boot)
sudo systemctl enable hkia-content-8am.timer
sudo systemctl enable hkia-content-12pm.timer
# Start timers immediately
sudo systemctl start hkia-content-8am.timer
sudo systemctl start hkia-content-12pm.timer
Verify Deployment
Check timer status:
systemctl list-timers | grep hvac
Expected output:
NEXT LEFT LAST PASSED UNIT ACTIVATES
Mon 2025-08-20 08:00:00 ADT 21h left n/a n/a hkia-content-8am.timer hkia-content-8am.service
Mon 2025-08-19 12:00:00 ADT 1h 9min left n/a n/a hkia-content-12pm.timer hkia-content-12pm.service
Monitor Services
View logs in real-time:
# Morning run logs
journalctl -u hkia-content-8am -f
# Noon run logs
journalctl -u hkia-content-12pm -f
# All logs
journalctl -u hkia-content-* -f
Manual Testing
Run the service manually:
# Test morning run
sudo systemctl start hkia-content-8am.service
# Check status
sudo systemctl status hkia-content-8am.service
Stop/Disable Services
If needed:
# Stop timers
sudo systemctl stop hkia-content-8am.timer
sudo systemctl stop hkia-content-12pm.timer
# Disable from starting on boot
sudo systemctl disable hkia-content-8am.timer
sudo systemctl disable hkia-content-12pm.timer
Troubleshooting
Service Fails to Start
- Check logs:
journalctl -u hkia-content-8am -n 50 - Verify paths in service files
- Check Python environment:
source .venv/bin/activate && python --version - Test manual run:
cd /home/ben/dev/hvac-kia-content && uv run python run_api_production_v2.py
Permission Issues
- Ensure user
benhas read/write access to data directories - Check NAS mount permissions:
ls -la /mnt/nas/hkia/
Timer Not Triggering
- Check timer status:
systemctl status hkia-content-8am.timer - Verify system time:
timedatectl - Check timer schedule:
systemctl cat hkia-content-8am.timer
Schedule
The system runs automatically at:
- 8:00 AM ADT - Morning content aggregation
- 12:00 PM ADT - Noon content aggregation
Both runs will:
- Fetch new content from all sources
- Merge with existing cumulative files
- Update metrics and add captions where available
- Archive previous versions
- Sync to NAS at
/mnt/nas/hkia/