# Deployment Instructions

## Prerequisites

Ensure the following are completed:
1. Python environment is set up with `uv`
2. All dependencies installed: `uv pip install -r requirements.txt`
3. `.env` file configured with API credentials
4. Test run successful: `uv run python run_api_production_v2.py`

## Deploy to Production

### Option 1: Automated Installation (Recommended)

```bash
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

```bash
# 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:
```bash
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:
```bash
# 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:
```bash
# Test morning run
sudo systemctl start hkia-content-8am.service

# Check status
sudo systemctl status hkia-content-8am.service
```

## Stop/Disable Services

If needed:
```bash
# 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
1. Check logs: `journalctl -u hkia-content-8am -n 50`
2. Verify paths in service files
3. Check Python environment: `source .venv/bin/activate && python --version`
4. Test manual run: `cd /home/ben/dev/hvac-kia-content && uv run python run_api_production_v2.py`

### Permission Issues
- Ensure user `ben` has 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:
1. Fetch new content from all sources
2. Merge with existing cumulative files
3. Update metrics and add captions where available
4. Archive previous versions
5. Sync to NAS at `/mnt/nas/hkia/`