Add self-deploying setup scripts for all sub-projects (P1-P8)

- Root setup.sh orchestrator with per-phase dispatch (./setup.sh p1..p8 | all | status)
- Makefile convenience targets (make infra, make llm, make status, etc.)
- scripts/common.sh: shared bash library for OS detection, Docker helpers,
  service management (launchd/systemd), package install, env management
- .env.example + .gitignore: shared config template and secret exclusions

P1 (homeai-infra): full implementation
- docker-compose.yml: Uptime Kuma, code-server, n8n
- Note: Home Assistant, Portainer, Gitea are pre-existing instances
- setup.sh: Docker install, homeai network, container health checks

P2 (homeai-llm): full implementation
- Ollama native install with CUDA/ROCm/Metal auto-detection
- launchd plist (macOS) + systemd service (Linux) for auto-start
- scripts/pull-models.sh: idempotent model puller from manifest
- scripts/benchmark.sh: tokens/sec measurement per model
- Open WebUI on port 3030 (avoids Gitea :3000 conflict)

P3-P8: working stubs with prerequisite checks and TODO sections

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Aodhan Collins
2026-03-04 21:10:53 +00:00
parent 38247d7cc4
commit 7978eaea14
23 changed files with 2525 additions and 0 deletions

46
.env.example Normal file
View File

@@ -0,0 +1,46 @@
# HomeAI — Shared Configuration Template
# Copy to .env and fill in your values.
# .env is gitignored — never commit it.
# ─── Data & Paths ──────────────────────────────────────────────────────────────
DATA_DIR=${HOME}/homeai-data
REPO_DIR=${HOME}/Projects/HomeAI
# ─── Network ───────────────────────────────────────────────────────────────────
# Set to your machine's local IP (not 127.0.0.1)
HOST_IP=192.168.1.100
# ─── P1: Infrastructure ────────────────────────────────────────────────────────
# Pre-existing instances — set these to your actual URLs
HA_URL=http://localhost:8123
HA_TOKEN= # Generated in Home Assistant UI → Profile → Security
PORTAINER_URL=https://localhost:9443
GITEA_URL=http://localhost:3000
# Managed by homeai-infra docker-compose
UPTIME_KUMA_URL=http://localhost:3001
CODE_SERVER_URL=http://localhost:8090
CODE_SERVER_PASS= # Set in homeai-infra/docker/.env
N8N_URL=http://localhost:5678
N8N_USER=admin
N8N_PASS= # Set in homeai-infra/docker/.env
# ─── P2: LLM ───────────────────────────────────────────────────────────────────
OLLAMA_URL=http://localhost:11434
OLLAMA_API_URL=http://localhost:11434/v1
OPEN_WEBUI_URL=http://localhost:3030
OLLAMA_PRIMARY_MODEL=llama3.3:70b
OLLAMA_FAST_MODEL=qwen2.5:7b
# ─── P3: Voice ─────────────────────────────────────────────────────────────────
WYOMING_STT_URL=tcp://localhost:10300
WYOMING_TTS_URL=tcp://localhost:10301
# ─── P4: Agent ─────────────────────────────────────────────────────────────────
OPENCLAW_URL=http://localhost:8080
# ─── P7: Visual ────────────────────────────────────────────────────────────────
VTUBE_WS_URL=ws://localhost:8001
# ─── P8: Images ────────────────────────────────────────────────────────────────
COMFYUI_URL=http://localhost:8188