6.6 KiB
6.6 KiB
Project Log — All Completed Projects
2026-07-20
Ops Portal Audit and Overhaul
- Full audit of all 11 pages, 7 API endpoints, and 5 dashboard widgets
- Fixed 15 bugs: auth guards, cache-busting, mobile nav, page titles, missing icons, data keys
- Added 3 new widgets: Wazuh Security, Bitdefender GravityZone, Alerts and Notifications
- Standardized credentials: ippadmin (password → Vaultwarden /
~/.hermes/.env) - Added critical service protection (hermes/caddy/ops-portal restart blocked via API)
- Server list cleaned up (7→5), dependency diagram fixed, config page scripts listing
Backup-Restore Enhancements
- Added manual backup with domain dropdown and note field
- Added restore history logging with formatted 4-column table
- Fixed Caddy routing and timeouts (restore was returning 404 via proxy)
- Fixed mobile toggle on domain expansion cards
- 9 WordPress sites under daily backup (1 AM and 1 PM)
Docs Written
/root/projects/ops-portal/README.md+CHANGELOG.md/root/projects/backup-restore/README.md+CHANGELOG.md
2026-07-17 — Backup-Restore Initial Deployment
- Flask backup/restore app deployed on app3 (152.53.241.111)
- Daily snapshots scheduled at 1 AM and 1 PM
- Caddy reverse proxy from my.itpropartner.com
- 9 WordPress sites configured
2026-07-21 — Home Lab Consolidation
Proxmox Migration
- vm-host-02 VMs migrated/destroyed: graylog, zabbix, fog, Ubuntu-Server
- vm-host-01 now hosts: docker-host-01, adguard-home
- vm-host-02 cleared for GPU installation (RTX 3090 pending verification)
- QNAP NFS shared storage created (2TB pool, mounted on both Proxmox hosts)
DNS Infrastructure
- Technitium DNS deployed on app2 (dns1.itpropartner.com)
- DoH upstreams: Quad9, Cloudflare, Google
- Home DNS chain: docker-host-01 AdGuard → dns1 Technitium → vm-host-01 AdGuard
- Firewall locked: port 53 restricted to 76.195.7.60
Twilio
- Toll-free number verification submitted for IT Pro Partner
- Use case: customer notifications, appointment reminders, IVR
Mattermost
- Branding configured: IT Pro Partner NOC
- Channel structure designed (13 channels)
- Mobile push investigation: HPNS required for background notifications
Gift-a-Roast
- Domain giftaroast.com purchased, DNS live (Cloudflare → app1)
- ElevenLabs TTS + Deepgram STT keys verified
- Architecture: Twilio Voice → STT → AI → TTS → caller
Uptime Kuma
- Backed up (361MB, 25 monitors), updated to latest
IRS
- Name change letter drafted: CG Premier Transport LLC → IT Pro Partner LLC
- Georgia Secretary of State filing confirmed
Skills Updated
- 10 skills patched: docker-service-deployment, home-lab-*, server-architecture-plan, twilio-10dlc, vaultwarden-management, voip-portal, hudu, syncromsp, recurring-information-scout
2026-08-05 through 2026-08-08
Super Search v2.4.0 -- Client-ID Metrics Tracking
- Added Starlette middleware to intercept
X-Client-Idheader on every MCP call - Prometheus counters per client (
hermes,intelsight,dre-osint,verdicttank) and per tool - Metrics exposed at
:8899/metrics, scraped by Prometheus every 30s - Grafana dashboard "Super Search - Client Tracking" at
/d/ffuktvmgcpkhseon core:3002 - Super Search binding changed from 127.0.0.1:8899 to 0.0.0.0:8899 for Docker access
- UFW rule added: allow 172.17.0.0/16 to port 8899
- Prometheus scrape config added for super-search job at 172.17.0.1:8899/metrics
- Docs:
/root/projects/itpp-infrastructure/docs/super-search-v2.4.0-client-tracking.md
OSINT Person MCP -- Super Search Integration
- Created
/root/docker/osint-person-mcp/super_search.pyMCP client module - Calls Super Search tools via
http://127.0.0.1:8899/mcp - Mirrors IntelSight pattern for MCP-to-MCP tool delegation
- Docs:
/root/projects/itpp-infrastructure/docs/osint-person-super-search-integration.md
Ops v1 Retirement
- Removed all orphaned
/var/www/ops/*.html,css/,js/ - Migrated
/var/www/ops/data/to/var/www/ops-v2/data/ - Updated Caddy: root redirect
ops.itpropartner.comto/v2/(301) - Updated 8 Python scripts referencing old ops paths
- Docs:
/root/projects/itpp-infrastructure/docs/ops-v1-retirement.md
Grafana Admin Password Reset
- Reset admin password to standard credentials via
grafana-cli admin reset-admin-password - Grafana running on Core port 3002 (not 3000 as previously documented)
Moore Sunny Daze / Beach Direct
- Built internal product backend (FastAPI on port 8911, Core) for Moore Sunny Daze
- Fully documented Beach Direct as a standalone public product
- Project docs:
/root/projects/itpp-infrastructure/projects/beachdirect.md - Internal docs:
/root/projects/mooresunnydaze/docs/beach-direct-project.md
Buzz Nostr Relay
- Deployed Buzz self-hosted relay on app3 (152.53.241.111) via CloudPanel Docker/Nginx
- Live at
https://buzz.iamgmb.com - Closed-relay membership, Postgres + Redis + MinIO backend
- Project spec:
/root/projects/itpp-infrastructure/projects/buzz-agent-integration-spec.md
Hermes Mission Control (Planning)
- Investigated Sharbel's Hermes Mission Control template (Next.js dashboard + Postgres + Bridge)
- Architecture scoped: Dashboard host, Postgres setup, domain selection
- Pending user decision on host and domain before build
Git Structure Audit
- Full audit of all 40 Gitea repos + local repos under /root/projects/
- Critical findings: hardcoded credentials in scripts repo, 13.6 MB blob in hermes-skills, missing .gitignore on 33/35 repos
- Docs:
/root/projects/itpp-infrastructure/docs/git-audit-2026-08-07.md
Grafana Dashboard Auth
- Investigated Grafana basic auth plugin for external dashboard access
- Generated password hash for Hermes Conduit iOS app dashboard integration
Infrastructure Gap Assessment
- Subagent audit: 65+ services across 5 hosts, identified 12 services with no backup, 14 missing from API list
- Duplicate services found: Twenty CRM (Core + App1), SearXNG (Core + App1)
- Docs:
/root/projects/itpp-infrastructure/docs/infrastructure-gap-assessment-2026-08-04.md
2026-07-29
Village Express — Client Project
- Direct client engagement: student transport platform for Savannah family
- Built working mockups: client registration form + admin dashboard
- Live at https://mockup.iamgmb.com/village-express/ and /admin.html
- Deployed: registration form with SCCPSS school dropdown, e-signatures, SMS PIN
- Deployed: admin dashboard with 5-page nav, approve/reject, route toggles, SMS broadcast modal, settings
- Project proposal written: scope, pricing ($1,500 setup / $497/mo), timeline, Phases 1-3
- Customer email drafted: benefit-focused, sells time savings and simplicity
- Both documents in /root/projects/village-express/