Skip to content

Homie-Ai-project/homie_orchestrator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Homie Orchestrator

Transform your home into a production-grade AI powerhouse

The Homie Orchestrator is the missing piece between simple Docker containers and complex Kubernetes clusters. Inspired by enterprise-grade supervisor architectures, it brings production-level container orchestration to your home AI infrastructure, edge devices, and self-hosted AI APIs with the simplicity you've been craving.

๐ŸŽฏ Why Homie Orchestrator?

Stop wrestling with Docker Compose files and manual container management!

โœจ One-click deployments - Deploy complex multi-container applications instantly
๐Ÿ›ก๏ธ Self-healing infrastructure - Automatic restarts, health monitoring, and failure recovery
๐Ÿ”„ Zero-downtime updates - A/B update system inspired by modern mobile OS updates
๐Ÿ“Š Built-in observability - Prometheus metrics, health dashboards, and real-time monitoring
๐Ÿ’พ Bulletproof backups - Automated, scheduled backups with one-click restore
๐ŸŽฎ Simple as a game console - Web UI so intuitive, your family can manage it

Perfect for:

  • ๐Ÿค– AI Enthusiasts - Run homie_ai, Ollama, and other AI services privately and securely
  • ๐Ÿง  AI Self-Hosters - Deploy your own ChatGPT alternatives, LLMs, and AI APIs at home
  • ๐ŸŒ Edge AI Computing - Jetson Nano, Raspberry Pi, and industrial AI deployments
  • ๐Ÿ‘จโ€๐Ÿ’ป AI Developers - Local AI development environments that mirror production

๐Ÿš€ Features That Will Blow Your Mind

๐ŸŽ›๏ธ Effortless Container Management

  • Drag-and-drop simplicity for container lifecycle management
  • Smart dependency resolution - never worry about startup order again
  • Resource optimization - automatic resource allocation and scaling

๐Ÿฅ Self-Healing Infrastructure

  • Intelligent health monitoring with automatic remediation
  • Predictive failure detection - fix problems before they happen
  • Cascade failure prevention - one container failure won't bring down your entire stack

๐Ÿ”„ Revolutionary Update System

  • RAUC-powered A/B updates - same technology used in Tesla cars and Android phones
  • Rollback in seconds - if something goes wrong, instantly revert
  • Zero-downtime deployments - update while your services keep running

๐Ÿ“Š Enterprise-Grade Monitoring

  • Real-time dashboards with beautiful visualizations
  • Prometheus metrics out of the box - no configuration needed
  • Smart alerting - get notified before problems become disasters

๐Ÿ›ก๏ธ Fort Knox Security

  • Isolated container environments with network segmentation
  • Automatic security updates for base images
  • Secret management - no more passwords in plain text

๐ŸŽฏ Developer Experience Like No Other

  • GitOps workflow - manage everything through code
  • Hot reloading in development mode
  • One-command deployment from development to production

๐Ÿ—๏ธ Architecture That Scales

Built on battle-tested principles from the world's most reliable systems:

Client Layer:
โ”œโ”€โ”€ ๐ŸŽฎ Web UI
โ”œโ”€โ”€ ๐Ÿ“ฑ Mobile App  
โ””โ”€โ”€ ๐Ÿค– CLI Tool
 โ†“
Orchestration Layer:
โ””โ”€โ”€ ๐Ÿง  Orchestrator (FastAPI + Redis)
 โ†“
Service Layer:
โ”œโ”€โ”€ ๐Ÿณ Container Manager
โ”œโ”€โ”€ ๐Ÿฅ Health Monitor
โ””โ”€โ”€ ๐Ÿ’พ Backup Manager
 โ†“
Data Layer:
โ””โ”€โ”€ ๐Ÿ—„๏ธ PostgreSQL Database

Why This Architecture Rocks:

  • ๐Ÿ”„ Microservices done right - each component has a single responsibility
  • ๐Ÿš€ Horizontally scalable - add more orchestrator instances as you grow
  • ๐Ÿ›ก๏ธ Fault tolerant - Redis clustering and PostgreSQL replication ready
  • ๐Ÿ”Œ API-first design - build any interface you want

โšก Get Started in 30 Seconds

๐Ÿณ The Magic One-Liner (Recommended)

curl -fsSL https://get.homieos.com/install.sh | bash

That's it! The installer will:

  • ๐Ÿ” Detect your platform (Jetson Nano, Raspberry Pi, x86_64)
  • ๐Ÿš€ Setup Docker and dependencies
  • ๐Ÿ—๏ธ Configure RAUC for bulletproof updates
  • ๐ŸŽฎ Launch the beautiful web interface
  • ๐Ÿ“Š Start monitoring your system

๐Ÿ› ๏ธ Manual Installation (For the Control Freaks)

Step 1: Clone the future

git clone https://github.com/homie/orchestrator.git
cd homie_orchestrator

Step 2: Launch mission control

make dev-up
# Or the traditional way:
# docker-compose up -d

Step 3: Access your new superpower

open http://localhost:8080  # ๐ŸŽฎ Web interface
curl http://localhost:8080/health  # ๐Ÿค– API health check

๐ŸŽฏ Your First Service (60 seconds to wow!)

# services/minecraft.yaml
services:
  minecraft:
    image: "itzg/minecraft-server:latest"
    enabled: true
    environment:
      EULA: "TRUE"
      MEMORY: "2G"
    ports:
      - "25565:25565"
    volumes:
      - "./data/minecraft:/data"
    labels:
      io.homie.backup: "true"  # ๐Ÿ’พ Automatic backups!
      io.homie.monitor: "true" # ๐Ÿฅ Health monitoring!

Deploy it:

homie deploy services/minecraft.yaml
# Watch the magic happen in real-time! โœจ

๐ŸŽฎ Real-World Magic in Action

๐Ÿค– AI Paradise

# One file to rule them all!
services:
  homie_ai:
    image: "homie/ai:latest"
    ports: 
      - "8080:8080"  # Open WebUI
      - "3000:3000"  # React Chat Interface
      - "11434:11434"  # Ollama API
    volumes:
      - "./data/homie_ai:/data"
    labels:
      io.homie.category: "ai"
      io.homie.backup: "daily"

  ollama:
    image: "ollama/ollama:latest"
    ports: ["11434:11434"]
    volumes: ["./data/ollama:/root/.ollama"]
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
    
  open_webui:
    image: "ghcr.io/open-webui/open-webui:main"
    ports: ["8080:8080"]
    volumes: ["./data/open_webui:/app/backend/data"]
    depends_on: ["ollama"]

Deploy with one command:

homie stack deploy ai-platform
# ๐ŸŽ‰ Your entire AI infrastructure is live!

๐Ÿ”ฌ AI Development Environment on Steroids

services:
  postgres:
    image: "postgres:15"
    environment:
      POSTGRES_DB: "ai_training"
      POSTGRES_USER: "dev"
      POSTGRES_PASSWORD: "dev123"
    labels:
      io.homie.dev: "true"  # ๐Ÿ”ฅ Hot reload database

  redis:
    image: "redis:7-alpine"
    labels:
      io.homie.dev: "true"

  ai_api:
    image: "ai_api:dev"
    volumes:
      - "./src:/app/src"  # ๐Ÿ”„ Live code updates
    environment:
      DATABASE_URL: "postgresql://dev:dev123@postgres:5432/ai_training"
      REDIS_URL: "redis://redis:6379"
    depends_on: ["postgres", "redis"]
    labels:
      io.homie.dev: "true"
      io.homie.hot-reload: "true"  # ๐Ÿš€ Auto-restart on changes

๐ŸŒ Edge AI Computing Beast Mode

# Perfect for Jetson Nano, Raspberry Pi, industrial AI
services:
  ai-inference:
    image: "nvcr.io/nvidia/triton:latest"
    runtime: "nvidia"  # ๐Ÿš€ GPU acceleration
    volumes:
      - "./models:/models"
    labels:
      io.homie.gpu: "required"
      io.homie.priority: "high"

  ai-metrics-collector:
    image: "telegraf:latest"
    privileged: true
    volumes:
      - "/proc:/host/proc:ro"
      - "/sys:/host/sys:ro"
    labels:
      io.homie.monitoring: "system"

  ai-dashboard:
    image: "grafana/grafana:latest"
    ports: ["3000:3000"]
    volumes: ["./data/grafana:/var/lib/grafana"]
    depends_on: ["ai-metrics-collector"]

๐Ÿ›ก๏ธ Why Homie Orchestrator vs. The Competition?

Feature Homie Orchestrator Docker Compose Kubernetes Portainer
Setup Time โšก 30 seconds ๐ŸŒ 5 minutes ๐Ÿ˜ฑ 2+ hours ๐Ÿš€ 2 minutes
Learning Curve ๐ŸŽฎ Game-like ๐Ÿ“š Moderate ๐Ÿง—โ€โ™‚๏ธ Steep cliff ๐ŸŽฏ Easy
A/B Updates โœ… Built-in โŒ Manual โœ… Complex โŒ None
Auto-healing โœ… Intelligent โŒ Basic restart โœ… Advanced โŒ Manual
Resource Usage ๐Ÿชถ Lightweight ๐Ÿชถ Minimal ๐Ÿ˜ Heavy ๐Ÿ”ง Medium
Edge AI Devices โœ… Optimized โšก Good โŒ Overkill ๐Ÿ”ง OK
Family-Friendly ๐ŸŽฎ Yes! ๐Ÿ‘จโ€๐Ÿ’ป Nerds only ๐Ÿ˜ฑ PhD required ๐Ÿ”ง Technical

The Homie Difference:

  • ๐Ÿง  Smart by default - No configuration bikeshedding
  • ๐Ÿค– Purpose-built for home AI - Not adapted from enterprise
  • ๐Ÿš€ Modern architecture - Built with 2025 best practices
  • ๐ŸŽฎ Consumer-grade UX - Your family can actually use it

Container Actions

Available actions for containers:

  • start - Start a stopped container
  • stop - Stop a running container
  • restart - Restart a container
  • remove - Remove a container (with optional force)

Example:

curl -X POST http://localhost:8080/api/v1/containers/homie_core/action \
  -H "Content-Type: application/json" \
  -d '{"action": "restart", "timeout": 30}'

Service Configuration

Services are defined in the configuration file or can be created via API:

services:
  my_service:
    image: "nginx:latest"
    enabled: true
    restart_policy: "unless-stopped"
    environment:
      ENV_VAR: "value"
    ports:
      - "80:80"
    volumes:
      - "./data/nginx:/usr/share/nginx/html"
    depends_on:
      - postgres
    labels:
      io.homie.managed: "true"
      io.homie.service: "my_service"

Backup and Restore

Automated Backups

Backups are automatically created based on the configured schedule. They include:

  • Configuration files
  • Service data directories
  • Metadata about the backup

Manual Backup

# Via API
POST /api/v1/backup
{
  "services": ["homie_core", "postgres"]  # Optional: specific services
}

Restore from Backup

# Via API
POST /api/v1/restore
{
  "backup_filename": "orchestrator_backup_20250118_120000.tar.gz"
}

Monitoring and Metrics

The orchestrator provides Prometheus-compatible metrics at /metrics:

  • orchestrator_containers_managed_total - Number of managed containers
  • orchestrator_container_status - Container status (1=running, 0=stopped, -1=error)
  • orchestrator_health_check_status - Health check results
  • orchestrator_api_requests_total - API request counts
  • orchestrator_uptime_seconds - Orchestrator uptime

Development

Project Structure

homie_orchestrator/
โ”œโ”€โ”€ src/orchestrator/         # Main application code
โ”‚   โ”œโ”€โ”€ main.py               # Application entry point
โ”‚   โ”œโ”€โ”€ config.py             # Configuration management
โ”‚   โ”œโ”€โ”€ core/                 # Core components
โ”‚   โ”‚   โ”œโ”€โ”€ container_manager.py
โ”‚   โ”‚   โ”œโ”€โ”€ health_monitor.py
โ”‚   โ”‚   โ”œโ”€โ”€ scheduler.py
โ”‚   โ”‚   โ”œโ”€โ”€ backup_manager.py
โ”‚   โ”‚   โ””โ”€โ”€ database.py
โ”‚   โ””โ”€โ”€ api/                  # REST API
โ”‚       โ”œโ”€โ”€ router.py
โ”‚       โ”œโ”€โ”€ models.py
โ”‚       โ””โ”€โ”€ dependencies.py
โ”œโ”€โ”€ config/                   # Configuration files
โ”œโ”€โ”€ data/                     # Persistent data
โ”œโ”€โ”€ backups/                  # Backup storage
โ”œโ”€โ”€ docker-compose.yml        # Docker Compose configuration
โ”œโ”€โ”€ Dockerfile.orchestrator   # Orchestrator container
โ”œโ”€โ”€ requirements.txt          # Python dependencies
โ””โ”€โ”€ cli.py                    # Command-line interface

Running in Development

  1. Install dependencies:
pip install -r requirements.txt
  1. Set environment variables:
export ORCHESTRATOR_CONFIG_PATH=/path/to/config
export ORCHESTRATOR_DATA_PATH=/path/to/data
  1. Run the orchestrator:
python -m src.orchestrator.main

Security Considerations

  • The orchestrator runs with privileged Docker access
  • Secure the API with authentication in production
  • Use environment variables for sensitive configuration
  • Regularly update container images
  • Monitor access logs and metrics

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

๐ŸŒŸ Join the Revolution

๐Ÿš€ Special Launch Features

๐ŸŽ Early Adopter Bonuses:

  • Free homie_ai integration tool - Connect your self-hosted AI services in one click
  • Premium AI templates library - 50+ pre-built AI service configurations
  • Priority support - Direct access to the core team
  • Beta access - Try new AI features before anyone else

๐Ÿค Community That Cares

  • ๐Ÿ’ฌ Discord Community - Real-time help and inspiration
  • ๐Ÿ“บ YouTube Tutorials - From zero to AI hero in visual guides
  • ๐Ÿ“ AI Template Exchange - Share and discover amazing AI configurations
  • ๐Ÿ† Show & Tell - Weekly showcases of incredible AI builds

๐Ÿ›ฃ๏ธ Roadmap Sneak Peek

Coming Soonโ„ข:

  • ๐ŸŽฎ Visual AI workflow builder - Drag & drop AI service connections
  • ๐Ÿ“ฑ Mobile app - Manage your home AI from anywhere
  • ๐Ÿค– AI-powered optimization - Automatic resource allocation for AI workloads
  • ๐ŸŒ Multi-site AI management - Orchestrate AI services across multiple locations
  • ๐Ÿ” Zero-trust networking - Enterprise security for home AI infrastructure

๐Ÿš€ Ready to Transform Your Home AI?

# Join thousands of happy AI self-hosters!
curl -fsSL https://get.homie.io/install.sh | bash

Questions? We're here to help!


โญ Love Homie Orchestrator?

  • ๐ŸŒŸ Star us on GitHub - Help others discover the magic
  • ๐Ÿฆ Share on Twitter - Spread the home AI revolution
  • ๐Ÿ’– Sponsor the project - Keep the innovation flowing
  • ๐Ÿค Contribute - Make it even more awesome

Together, we're building the future of home AI infrastructure! ๐Ÿš€


Homie Orchestrator - Because your home AI deserves enterprise-grade reliability with consumer-grade simplicity.

About

Production-level container orchestration to your home AI infrastructure, edge devices, and self-hosted AI APIs.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published