docs: add Feb 14 - SpeedyFoxAI website details, counter fix, nginx path discovery
This commit is contained in:
127
memory/2026-02-14.md
Normal file
127
memory/2026-02-14.md
Normal file
@@ -0,0 +1,127 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user