mirror of
https://github.com/myronblair/infra
synced 2026-06-30 17:50:10 -05:00
52f6073593
AI context/memory from Claude Code sessions covering all infrastructure: JARVIS, NovaCPX, DO sites, Proxmox, FusionPBX, MediaStack, and project feedback/preferences.
3.4 KiB
3.4 KiB
name, description, metadata
| name | description | metadata | ||||||
|---|---|---|---|---|---|---|---|---|
| project-novacpx-tools | NovaCPX development tools and session-start checklist — load at start of every NovaCPX session |
|
Session-start checklist (run at start of every NovaCPX session)
- Verify working directory:
ls /tmp/novacpx/— if missing, repo needs re-cloning - Test VM reachability (direct — PVE1 hop NOT needed):
sshpass -p 'Joker1974!!!' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=8 root@10.48.200.110 'echo vm-ok'PVE1 (orbisne.fortiddns.com) SSH is currently broken (permission denied). Direct to 10.48.200.110 works fine.
- Load TODO: read
/root/.claude/projects/-home-myron/memory/project_novacpx_todo.md - Check panel live:
curl -sk -o /dev/null -w "%{http_code}" https://10.48.200.110:8882/
Direct SSH / SCP (preferred method)
# Run command on VM
sshpass -p 'Joker1974!!!' ssh -o StrictHostKeyChecking=no root@10.48.200.110 'command here'
# Copy file to VM
sshpass -p 'Joker1974!!!' scp -o StrictHostKeyChecking=no /tmp/novacpx/panel/api/endpoints/foo.php \
root@10.48.200.110:/srv/novacpx/public/api/endpoints/foo.php
API auth pattern (session cookie)
# Login and get token
TOKEN=$(curl -sk -X POST "https://10.48.200.110:8882/api/auth/login" \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"Admin2026!"}' | python3 -c "import sys,json; print(json.load(sys.stdin)['data']['token'])")
# Use token as ncpx_session cookie
curl -sk "https://10.48.200.110:8882/api/system/version" -H "Cookie: ncpx_session=$TOKEN"
Tools in /tmp/novacpx/tools/
| Script | Purpose | Usage |
|---|---|---|
nova-ssh.sh |
SSH into VM (double-hop via PVE1 — currently broken) | Use direct SSH instead |
nova-push.sh |
Push single file via base64/double-hop (broken) | Use direct scp instead |
nova-deploy.sh |
Full panel rsync (PVE1 hop — broken) | Use direct scp or git push |
nova-status.sh |
Check SSH + port health | bash tools/nova-status.sh [--full] |
nova-logs.sh |
Stream VM logs | bash tools/nova-logs.sh [apache|access|install|fail2ban|all] |
nova-db.sh |
Run queries on VM DB | bash tools/nova-db.sh [--tables|--users|--reset-admin pw|"SQL"] |
Key VM paths
- Panel web root:
/srv/novacpx/public/ - Git repo (source):
/opt/novacpx-src/(what gets pulled by webhook/deploy-runner.sh) - Config:
/etc/novacpx/config.ini(root:www-data 640) - DB:
/var/lib/novacpx/panel.db(SQLite) - Deploy runner:
/opt/novacpx-src/deploy/deploy-runner.sh(cron runs every min) - Webhook:
/opt/novacpx-src/deploy/webhook.php(linked at /srv/novacpx/public/deploy/webhook.php) - Logs:
/var/log/apache2/error.log,/var/log/novacpx/access.log,/var/log/novacpx/deploy.log - JARVIS agent:
/opt/jarvis-agent/ - Cron scripts:
/srv/novacpx/public/bin/(cache-update-check.php, collect-stats.php, notify-checks.php)
VM credentials
- VM IP: 10.48.200.110 (PVE1 VM 120)
- Root:
root / Joker1974!!! - Admin panel:
admin / Admin2026! - MySQL (customer sites):
novacpx_user / 6fyWj6vYnJDKEQvNANzj - Ports: 8880 (user), 8881 (reseller), 8882 (admin), 8883 (webmail)
Why: project-novacpx-todo
How to apply: Start every NovaCPX session by running the session-start checklist so you know immediately if the VM is reachable before writing code.