Files
jarvis-memory/memory/2026-02-14.md

169 lines
5.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Website Details - SpeedyFoxAI
**Domain:** speedyfoxai.com
**Hosted on:** deb2 (10.0.0.39)
**Web Root:** /root/html/ (Nginx serves from here, NOT /var/www/html/)
**Created:** February 13, 2026
**Created by:** Kimi (OpenClaw + Ollama) via SSH
## Critical Discovery
Nginx config (`/etc/nginx/sites-enabled/default`) sets `root /root/html;`
This means `/var/www/html/` is NOT the live document root - `/root/html/` is.
## Visitor Counter System
### Current Status
- **Count:** 288 (restored from Feb 13 backup)
- **Location:** `/root/html/count.txt`
- **Persistent storage:** `/root/html/.counter_total`
- **Script:** `/root/html/update_count_persistent.sh`
### Why It Reset
Old script read from nginx access.log which gets rotated by logrotate. When logs rotate, count drops to near zero. Lost ~350 visits (was ~400+, dropped to 46).
### Fix Applied
New persistent counter that:
1. Stores total in `.counter_total` file
2. Tracks last log line counted in `.counter_last_line`
3. Only adds NEW visits since last run
4. Handles log rotation gracefully
## Site Versions
### Current Live Version
- **File:** `/root/html/index.html` (served by nginx)
- **Source:** `/var/www/html/index.html` (edit here, copy to /root/html/)
- **Style:** Simple HTML/CSS (Rob's Tech Lab theme)
- **Features:** Visitor counter, 3 embedded YouTube videos
### Backup Version (Full Featured)
- **Location:** `/root/html_backup/20260213_155707/index.html`
- **Style:** Tailwind CSS, full SpeedyFoxAI branding
- **Features:** Dark mode, FAQ section, navigation, full counter
## YouTube Channel
**Name:** SpeedyFoxAI
**URL:** https://www.youtube.com/@SpeedyFoxAi
**Stats:** 5K+ subscribers, 51+ videos
### Embedded Videos
1. DIY AI Assistant Setup (kz-4l5roK6k)
2. Self-Hosted Tools Deep Dive (9IYNGK44EyM)
3. OpenClaw + Ollama Workflow (8Fncc5Sg2yg)
## File Structure
```
/root/html/ # LIVE site (nginx root)
├── index.html # Main page
├── count.txt # Visitor count (288)
├── .counter_total # Persistent count storage
├── .counter_last_line # Log line tracking
├── update_count_persistent.sh # Counter script
├── websitememory.md # Documentation
├── downloads.html
├── fox720.jpg
└── favicon.png
/root/html_backup/ # Backups with timestamps
├── 20260214_071243/ # Pre-counter-script backup
├── 20260214_070713/ # Before counter fix
├── 20260214_070536/ # Full backup
└── 20260213_155707/ # Full version with counter
/var/www/html/ # Edit source (copy to /root/html/)
└── index.html
```
## Technical Details
### Counter JavaScript
```javascript
fetch("/count.txt?t=" + Date.now())
.then(r => r.text())
.then(n => {
document.getElementById("visit-count").textContent =
parseInt(n || 0).toString().padStart(6, "0");
});
```
### Counter Display
- Location: Footer
- Format: "Visitors: 000288"
- Style: 10px font, opacity 0.5
### Backup Strategy
```bash
DT=$(date +%Y%m%d_%H%M%S)
mkdir -p /root/html_backup/${DT}
cp -r /root/html/* /root/html_backup/${DT}/
cp /var/www/html/* /root/html_backup/${DT}/
```
## SEO & Content
- **Title:** Rob's Tech Lab | Local AI & Self-Hosted Tools
- **Meta:** None (simple version)
- **Schema:** None (simple version)
- **Full version has:** Schema.org FAQPage, structured data
## Social Links
- YouTube: @SpeedyFoxAi
- Discord: mdkrush
- GitHub: mdkrush
- Twitter: mdkrush
## Creator
**Name:** Rob
**Brand:** SpeedyFoxAI
**Focus:** Self-hosting, local AI, automation tools
**Personality:** Comical/structured humor
## Status
- **Counter:** Working (shows 000288)
- **HTML:** Valid structure, no misaligned code
- **Backups:** Multiple timestamps available
- **Documentation:** /root/html/websitememory.md
Stored: February 14, 2026
## Relationship to YouTube
The SpeedyFoxAI.com website complements the YouTube channel @SpeedyFoxAi. It serves as a hub for video content, resources, and contact info, with embedded videos linking directly to the channel. Design and branding are consistent across both platforms.
---
## UPDATE - Feb 14, 07:21
### Counter Reset Issue - ROOT CAUSE FOUND
**Problem:** Count kept resetting to current nginx log lines (86, 89, etc.)
**Root Cause:** Old script `/root/html/update_count.sh` still existed and was running:
```bash
#!/bin/bash
COUNT=$(wc -l < /var/log/nginx/access.log 2>/dev/null || echo 0)
echo "$COUNT" > /root/html/count.txt
```
This script was periodically overwriting count.txt with nginx log line count, overriding the persistent counter.
**Fix Applied:**
- Removed `/root/html/update_count.sh`
- Restored count.txt to 288
- Persistent counter now working correctly
**Lesson:** Check for competing scripts before implementing fixes.
---
## Rule Added - Feb 14, 2026
**Always validate after changes.** No exceptions.
- Test functionality
- Verify file integrity
- Check permissions
- Confirm expected output
Applied retroactively to todays counter fix.