mirror of
https://github.com/myronblair/jarvis
synced 2026-06-30 17:50:23 -05:00
migrate: update all references from DO server to PVE1 JARVIS VM
- config.php: JARVIS_IP → 10.48.200.211, HA_URL → direct LAN 10.48.200.97 - facts_collector/stats_cache: Proxmox API → direct 10.48.200.90 (not DDNS) - chat.php: system context updated to reflect PVE1/nginx instead of DO/OLS - do_server.php: display IP → 10.48.200.211 (reads /proc for JARVIS VM stats) - jarvis-app.js: service labels nginx/mariadb instead of lshttpd - jarvis-overlays.js: network map JARVIS node IP → 10.48.200.211 - index.html: DO SERVER labels → JARVIS VM, cache bust v=20260618a - jarvis-agents.js: agent install URL uses window.location.origin Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2302,7 +2302,7 @@ if (!$reply) {
|
||||
$sec = (int) file_get_contents('/proc/uptime');
|
||||
$uptime = intdiv($sec, 86400) . 'd ' . intdiv($sec % 86400, 3600) . 'h';
|
||||
$load = explode(' ', file_get_contents('/proc/loadavg'));
|
||||
$systemContext .= "Jarvis server (165.22.1.228 DO): Memory {$memPct}%, Uptime {$uptime}, Load {$load[0]}.\n";
|
||||
$systemContext .= "Jarvis server (10.48.200.211 PVE1): Memory {$memPct}%, Uptime {$uptime}, Load {$load[0]}.\n";
|
||||
} catch (Exception $e) {}
|
||||
|
||||
$alerts = JarvisDB::query(
|
||||
@@ -2317,12 +2317,12 @@ if (!$reply) {
|
||||
$systemPrompt = "You are JARVIS — Just A Rather Very Intelligent System — the AI of {$userName} (address him as \"{$userAddr}\"). You manage his home network, servers, Proxmox VMs, websites, and Home Assistant smart home. Your personality: formal, efficient, British butler — like the AI in Iron Man. Be concise. Use technical precision.
|
||||
|
||||
Infrastructure:
|
||||
- Jarvis Server: 165.22.1.228 (DigitalOcean, CyberPanel/OLS, Ubuntu 24.04)
|
||||
- Jarvis Server: 10.48.200.211 (PVE1, nginx/PHP-FPM, Ubuntu 24.04)
|
||||
- Ollama AI VM: 10.48.200.95 (local LLM server, llama3.1:8b + 70b)
|
||||
- Proxmox Host: 10.48.200.90 (manages all VMs)
|
||||
- Home Assistant: 10.48.200.97:8123
|
||||
- FusionPBX: 134.209.72.226 / fusion.orbishosting.com (production DO server), Yealink T48S: 10.48.200.43
|
||||
- Digital Ocean: 165.22.1.228 (tomsjavajive.com, epictravelexpeditions.com, tomtomgames.com, parkerslingshotrentals.com, orbishosting.com)
|
||||
- Digital Ocean: 165.22.1.228 (website hosting — tomsjavajive.com, epictravelexpeditions.com, tomtomgames.com, parkerslingshotrentals.com, orbishosting.com)
|
||||
- Network: 10.48.200.0/24, FortiGate firewall
|
||||
|
||||
Live data:
|
||||
|
||||
@@ -60,7 +60,7 @@ $uptimeDays = intdiv($uptime, 86400);
|
||||
$uptimeHrs = intdiv($uptime % 86400, 3600);
|
||||
|
||||
echo json_encode([
|
||||
"ip" => DO_SERVER_IP,
|
||||
"ip" => "10.48.200.211", // JARVIS VM (PVE1)
|
||||
"reachable" => true,
|
||||
"cpu_pct" => getCpuPct(),
|
||||
"memory" => [
|
||||
|
||||
@@ -100,7 +100,7 @@ function collect_all(): array {
|
||||
$results['proxmox'] = 'skipped (fresh)';
|
||||
} else try {
|
||||
if (defined('PROXMOX_TOKEN_ID') && PROXMOX_TOKEN_ID) {
|
||||
$base = 'https://orbisne.fortiddns.com:' . PROXMOX_PORT . '/api2/json';
|
||||
$base = 'https://10.48.200.90:' . PROXMOX_PORT . '/api2/json';
|
||||
$auth = 'Authorization: PVEAPIToken=' . PROXMOX_USER . '!' . PROXMOX_TOKEN_ID . '=' . PROXMOX_TOKEN_VAL;
|
||||
|
||||
$nd = pve_api_get("{$base}/nodes/" . PROXMOX_NODE . "/status", $auth);
|
||||
@@ -135,7 +135,7 @@ function collect_all(): array {
|
||||
|
||||
// ── Digital Ocean ─────────────────────────────────────────────────────
|
||||
try {
|
||||
exec('ping -c1 -W2 165.22.1.228 > /dev/null 2>&1', $o2, $doCode);
|
||||
exec("ping -c1 -W1 165.22.1.228 > /dev/null 2>&1", $o2, $doCode));
|
||||
$doStatus = ($doCode === 0) ? 'online' : 'unreachable';
|
||||
KBEngine::storeFact('do_server', 'do_status', $doStatus, '165.22.1.228', $ttl);
|
||||
$results['do_server'] = "ok ({$doStatus})";
|
||||
|
||||
@@ -36,7 +36,7 @@ function cacheStore(string $key, $data): void {
|
||||
|
||||
// ── Proxmox ──────────────────────────────────────────────────────────────
|
||||
if (PROXMOX_HOST !== '10.48.200.X' && PROXMOX_TOKEN_VAL !== 'YOUR_TOKEN_VALUE_HERE') {
|
||||
$pveBase = 'https://orbisne.fortiddns.com:' . PROXMOX_PORT . '/api2/json';
|
||||
$pveBase = 'https://10.48.200.90:' . PROXMOX_PORT . '/api2/json';
|
||||
$pveAuth = ['Authorization: PVEAPIToken=' . PROXMOX_USER . '!' . PROXMOX_TOKEN_ID . '=' . PROXMOX_TOKEN_VAL];
|
||||
|
||||
// Cluster resources API — returns all VMs/CTs from ALL nodes (pve + pve2)
|
||||
|
||||
@@ -397,7 +397,7 @@ let _refreshTick = 0;
|
||||
let selectedContext = null;
|
||||
const _panelCtx = {};
|
||||
let _haEntities = {};
|
||||
const _svcLabels = {lshttpd:'WEB',mysql:'MYSQL',redis:'REDIS',memcached:'MEMCACHE',postfix:'POSTFIX',dovecot:'DOVECOT','jarvis-agent':'AGENT'};
|
||||
const _svcLabels = {nginx:'WEB',mysql:'MYSQL',redis:'REDIS',memcached:'MEMCACHE',postfix:'POSTFIX',dovecot:'DOVECOT','jarvis-agent':'AGENT'};
|
||||
|
||||
async function refreshAll() {
|
||||
_refreshTick++;
|
||||
|
||||
@@ -141,7 +141,7 @@ function closeNetMap(){
|
||||
function _nmBuild(devices){
|
||||
_nmNodes=[]; _nmEdges=[]; _nmParticles=[];
|
||||
// Hub
|
||||
_nmNodes.push({id:'jarvis',label:'JARVIS',sub:'165.22.1.228',online:true,agent:true,ringIdx:0,angle:0,r:NM_RINGS[0].nodeR,pulse:0});
|
||||
_nmNodes.push({id:'jarvis',label:'JARVIS',sub:'10.48.200.211',online:true,agent:true,ringIdx:0,angle:0,r:NM_RINGS[0].nodeR,pulse:0});
|
||||
// Bucket
|
||||
var buckets={proxmox:[],services:[],agents:[],devices:[],network:[]};
|
||||
// Deduplicate agent devices by hostname (same logical host registered twice)
|
||||
|
||||
@@ -439,7 +439,7 @@ function openAgentModal() {
|
||||
const modal = document.getElementById('agentModal');
|
||||
const regKey = 'f846a9aaf7ce9a61742c63c87c4186052a71d2a580c65518';
|
||||
const baseUrl = 'https://jarvis.orbishosting.com/agent';
|
||||
const jUrl = 'https://jarvis.orbishosting.com';
|
||||
const jUrl = window.location.origin;
|
||||
|
||||
if (os === 'tablet') {
|
||||
title.textContent = '● JARVIS — TABLET / MOBILE';
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
<div class="tb-center">
|
||||
<div class="tb-stat">LOCAL <span id="tb-cpu">--</span>% CPU</div>
|
||||
<div class="tb-stat">MEM <span id="tb-mem">--</span>%</div>
|
||||
<div class="tb-stat">DO SERVER <span id="tb-do" class="text-dim">--</span></div>
|
||||
<div class="tb-stat">JARVIS VM <span id="tb-do" class="text-dim">--</span></div>
|
||||
<div class="tb-stat"><span id="tb-alerts" class="text-green">NO ALERTS</span></div>
|
||||
<div class="tb-stat" id="tb-planner" style="display:none"><span id="tb-planner-text" class="text-yellow"></span></div>
|
||||
</div>
|
||||
@@ -292,7 +292,7 @@
|
||||
</div>
|
||||
<div class="bb-item">
|
||||
<div class="bb-dot" id="bb-do-dot"></div>
|
||||
<span>DO SERVER</span> <span id="bb-do-status">CHECKING</span>
|
||||
<span>JARVIS VM</span> <span id="bb-do-status">CHECKING</span>
|
||||
</div>
|
||||
<div class="bb-item">
|
||||
<div class="bb-dot" id="bb-pve-dot"></div>
|
||||
@@ -418,12 +418,12 @@
|
||||
style="position:fixed;top:-9999px;left:-9999px;width:320px;height:240px"></video>
|
||||
<script data-cfasync="false" src="https://cdn.jsdelivr.net/npm/face-api.js@0.22.2/dist/face-api.min.js" crossorigin="anonymous"></script>
|
||||
|
||||
<script data-cfasync="false" src="assets/js/jarvis-effects.js?v=20260617b"></script>
|
||||
<script data-cfasync="false" src="assets/js/jarvis-overlays.js?v=20260617b"></script>
|
||||
<script data-cfasync="false" src="assets/js/jarvis-app.js?v=20260617b"></script>
|
||||
<script data-cfasync="false" src="assets/js/panels/jarvis-arc.js?v=20260617b"></script>
|
||||
<script data-cfasync="false" src="assets/js/panels/jarvis-agents.js?v=20260617b"></script>
|
||||
<script data-cfasync="false" src="assets/js/panels/jarvis-assistant.js?v=20260617b"></script>
|
||||
<script data-cfasync="false" src="assets/js/jarvis-effects.js?v=20260618a"></script>
|
||||
<script data-cfasync="false" src="assets/js/jarvis-overlays.js?v=20260618a"></script>
|
||||
<script data-cfasync="false" src="assets/js/jarvis-app.js?v=20260618a"></script>
|
||||
<script data-cfasync="false" src="assets/js/panels/jarvis-arc.js?v=20260618a"></script>
|
||||
<script data-cfasync="false" src="assets/js/panels/jarvis-agents.js?v=20260618a"></script>
|
||||
<script data-cfasync="false" src="assets/js/panels/jarvis-assistant.js?v=20260618a"></script>
|
||||
|
||||
<!-- VISION LIGHTBOX -->
|
||||
<div id="vision-lightbox">
|
||||
|
||||
Reference in New Issue
Block a user