Skip to content

beta0c7/jarvis-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jarvis Agent Master Plan

This repository contains the infrastructure as code (IaC), applications, and configurations to run a comprehensive, self-hosted smart home and AI assistant solution. The goal is to provision and manage a unified environment spanning a Proxmox node, Home Assistant, OpenClaw AI, and supplementary bridges like BlueBubbles.

🗺 Architecture Diagram

graph TD;
    subgraph Control_Machine [Control Machine]
        Ansible[Ansible Playbooks]
    end

    subgraph Proxmox_Node [Proxmox Node / Mini PC]
        HA[Home Assistant VM 100\nPorts: 8123]
        Docker[Docker LXC 101]
        OpenClaw[OpenClaw AI LXC 102\nPorts: 8000]
        Other[Other Services / BlueBubbles]
    end

    Ansible -- SSH / API --> Proxmox_Node
    Ansible -- Configure --> HA
    Ansible -- Deploy --> Docker
    Ansible -- Setup --> OpenClaw

    User((User)) -->|HTTPS :8006| Proxmox_Node
    User -->|HTTP :8123| HA
    User -->|HTTP :8000| OpenClaw
Loading

📂 Repository Structure

The project is organized into multiple sub-solutions for modularity and ease of maintenance:

jarvis-agent/
├── README.md              # The "Master Plan" and architecture diagram
├── ansible/               # All infrastructure automation
│   ├── inventory.yml      # IPs for all target nodes (e.g., Mini PC, MacBooks)
│   ├── group_vars/        # Shared variables across hosts (e.g., configurations, secrets templates)
│   ├── roles/             # Modular tasks (e.g., setup-proxmox, ha-restore, lxc-docker)
│   └── site.yml           # Main playbook to provision the entire infrastructure
├── apps/                  # Actual software/agent code
│   ├── openclaw/          # OpenClaw logic, skill scripts, and API wrappers
│   └── bluebubbles/       # Configuration and backups for the iMessage bridge
├── home-assistant/        # Home Assistant configurations
│   ├── blueprints/        # Reusable automation blueprints
│   ├── automations.yaml   # Explicit automation configurations
│   └── dashboards/        # UI and Lovelace YAML definitions

🚀 How to Use This Project (Control vs Target)

This project uses an "agentless" architecture via Ansible. You do not run this directly on the target servers.

  1. The Control Machine (e.g., Your Mac/PC): This is where you store this project and where you run the Ansible playbooks. It needs Ansible installed.
  2. The Target Server(s): This includes the Proxmox Node and potentially other devices on your network. They typically only need a fresh OS or hypervisor install. Ansible will automatically configure them.

🛠 Setup & Provisioning

1. Prerequisites

  • Ansible: Ensure Ansible is installed on your control machine (pip install ansible).
  • Target Hardware: Ensure your target node (e.g., a Mini PC) has a fresh Proxmox VE installation.
  • SSH Access: You need Root SSH access to your Proxmox server.

2. Configure the Inventory

Navigate to the ansible/ directory and update the inventory.yml to point to your target IPs and credentials:

all:
  children:
    proxmox:
      hosts:
        proxmox-node:
          ansible_host: 192.168.1.100 # REPLACE with your actual IP

Also, review ansible/group_vars/proxmox.yml and set your proxmox_api_password and other necessary variables.

3. Install Dependencies

Install the required Ansible collections:

cd ansible
ansible-galaxy collection install -r requirements.yml

4. Run the Master Playbook

Execute the main playbook to begin provisioning your home infrastructure:

ansible-playbook site.yml

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors