β–Ό Blueprint Overview

This blueprint builds a private, self-hosted AI powerhouse that unites over 20 open-source tools into one seamless system. It replaces Google NotebookLM, paid voice cloning, token-wasting workflows, and fragmented agent setups with a single Docker stack running on your own hardware.

Core principles: unlimited local AI, zero external data sharing (unless you opt into APIs), token optimization via Headroom, and enterprise‑grade agent orchestration with PaperClick/n8n.

User β†’ Traefik (HTTPS) β†’ Authelia (auth) β†’ Services (Notebook, Voice, Agents, ...) β†’ Shared Storage (vector DB, Ollama, volumes)

Everything runs behind a reverse proxy with automatic Let's Encrypt certificates. All apps share a single .env file and a common Docker network, making integration effortless.

β–Ό Complete App Inventory

AppWhat it doesOfficial repo / siteRole in unified system
Open NotebookPrivate alternative to NotebookLM – notebooks, podcasts, document Q&Agithub.com/open-notebook (community)Knowledge management & research hub
Voice BoxVoice cloning, TTS, transcription, voice effects(open-source voice toolbox)Voice & audio generation/transcription
HeadroomToken optimizer – compresses prompts to reduce LLM costs by 80%+github.com/headroom (50k stars)Token & cost optimization layer
Skill Spector (Nvidia)Scans AI skills/plugins for vulnerabilities before installationnvidia/skill-spectorPre-deployment security scan
PaperClickHierarchical agent teams – enterprise org chart of AI agentspaperclick.devAgent orchestration backbone
Anything LLMAll-in-one AI desktop – unifies models, documents, agentsanythingllm.comCentral LLM workspace
OpenHSUnified CLI/UI for agent automation (Cloud, Codex, Gemini, OpenHS)(open-source automation)Automation & task runner
BrowserUseAI-powered web browsing agent (local + cloud)browser-use.comWeb agent for research / scraping
FirecrawlWeb scraping, crawling, maps, and structured data extractionfirecrawl.devData ingestion from websites
Thy DaysReddit/YouTube trend research (last 30 days)(open-source skill)Real-time trend & social listening
DearflowProgressive deep research (ByDance)github.com/dearflowAdvanced multi-step research agent
HyperframeCode-to-video animations (HTML/CSS β†’ MP4)hyperframe.ai (open-source)Automated video creation
Open MontageEnd-to-end AI video production (script, edit, publish)openmontage.orgFull video production pipeline
GstackYC-aligned project skills: planning, building, reviewinggstack.ioProject lifecycle management
Superpowers200k+ stars skill library for agentic codinggithub.com/superpowersSkill repository for agents
Brond FAlgorithmic vulnerability prevention & audit reportsbrondf.devSecurity audit automation
Anthropic Cyber Security Skills66+ security audit skills (MITRE, cloud, malware)anthropic/cyberskillsDeep security scanning
MarkItDownConvert PDF/PPTX/DOCX/XLSX to Markdowngithub.com/microsoft/markitdownDocument preprocessing
PaddleOCR (Baidu)Advanced OCR (text, tables, images, formulas)github.com/PaddlePaddle/PaddleOCRDocument digitization & extraction
Open Generative AIOpen-source Higgsfield alternative (image/video/audio gen)open-gen.aiGenerative media creation
ObsidianSecond brain with AI pluginobsidian.mdPersonal knowledge graph (client)
HandyTranscription & prompt utility(open-source tool)Voice transcription helper
Hermes AgentAdvanced open-source AI agent functionsgithub.com/NousResearch/hermesHigh-capability agent runtime
YangLocal LLM chat interface (like GPT)github.com/yang (chat UI)User-facing chat with local models
n8nWorkflow automation with AI nodesn8n.ioAutomation & integration engine
ComfyUIVisual interface for image/video/music generationgithub.com/comfyanonymous/ComfyUICreative content pipeline
OllamaRun LLMs locally with one commandollama.aiBackend LLM runtime for all services

β–Ό System Architecture & Data Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ User / Client β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ HTTPS β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Traefik (reverse proxy) + Let's Encrypt β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ Auth β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Authelia (SSO) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β–Ό β–Ό β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Knowledgeβ”‚ β”‚ Voice/ β”‚ β”‚ Agents & β”‚ β”‚ Cluster β”‚ β”‚ Media β”‚ β”‚ Orchestrationβ”‚ β”‚-Open NB β”‚ β”‚-VoiceBox β”‚ β”‚-PaperClick β”‚ β”‚-Anythingβ”‚ β”‚-Hyperframeβ”‚ β”‚-n8n, OpenHS β”‚ β”‚ LLM β”‚ β”‚-OpenMont.β”‚ β”‚-Gstack,Super β”‚ β”‚-Obsidianβ”‚ β”‚-OpenGenAIβ”‚ β”‚ powers β”‚ β”‚ (client)β”‚ β”‚-ComfyUI β”‚ β”‚-Hermes Agentβ”‚ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Shared AI Backend β”‚ β”‚ - Ollama (LLMs) β”‚ β”‚ - Chroma / Weaviate (Vector DB)β”‚ β”‚ - MarkItDown, PaddleOCR β”‚ β”‚ - Headroom (token optimizer) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Security & Audit Layer β”‚ β”‚ - Skill Spector β”‚ β”‚ - Brond F, Anthropic Cyber β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ External Internet (optional) β”‚ β”‚ - BrowserUse, Firecrawl β”‚ β”‚ - Dearflow, Thy Days β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Data flow highlights: Documents go through MarkItDown/PaddleOCR β†’ vector store β†’ Open Notebook & AnythingLLM. Voice recordings enter VoiceBox β†’ transcription via Whisper β†’ stored as text. n8n/PaperClick orchestrate multi-step jobs: research agent uses Dearflow + Thy Days, drafting in Open Notebook, voiceover in VoiceBox, video in Hyperframe. All LLM calls pass through Headroom for token compression. Security tools scan skill packages and codebases before deployment.

β–Ό Integration Details

Every service is defined in Docker Compose with Traefik labels. They share a .env file. Below are example snippets. (Full compose in Deployment section)

# .env (shared)
DOMAIN=yourdomain.com
TRAEFIK_NETWORK=traefik-public
OLLAMA_HOST=ollama
HEADROOM_URL=http://headroom:8080
AUTHELIA_JWT_SECRET=change-me
# docker-compose snippet: Open Notebook with Traefik
  open-notebook:
    image: opennotebook/open-notebook:latest
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
      - VECTOR_DB=chroma
    volumes:
      - notebook_data:/data
    networks:
      - traefik-public
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.notebook.rule=Host(`notebook.${DOMAIN}`)"
      - "traefik.http.routers.notebook.entrypoints=websecure"
      - "traefik.http.routers.notebook.tls.certresolver=letsencrypt"
# Voice Box integration
  voicebox:
    image: voicebox/voicebox:latest
    environment:
      - WHISPER_MODEL=base
      - TTS_MODEL=quen-tts
    volumes:
      - voice_data:/models
    networks:
      - traefik-public
    labels:
      - "traefik.http.routers.voicebox.rule=Host(`voice.${DOMAIN}`)"

Ollama is the backbone: all services that need local LLMs point to http://ollama:11434. Headroom is called as a pre-processing middleware in n8n or Python scripts.

β–Ό Deployment Blueprint (Full docker-compose.yml)

version: '3.9'
services:
  traefik:
    image: traefik:v3.0
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
      - "--certificatesresolvers.letsencrypt.acme.email=admin@${DOMAIN}"
      - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - letsencrypt_data:/letsencrypt
    networks:
      - traefik-public

  authelia:
    image: authelia/authelia:4
    volumes:
      - ./authelia/config:/config
    environment:
      - AUTHELIA_JWT_SECRET_FILE=/run/secrets/jwt
    networks:
      - traefik-public
    labels:
      - "traefik.http.routers.authelia.rule=Host(`auth.${DOMAIN}`)"
      - "traefik.http.middlewares.authelia.forwardauth.address=http://authelia:9091/api/verify?rd=https://auth.${DOMAIN}"

  ollama:
    image: ollama/ollama:latest
    volumes:
      - ollama_data:/root/.ollama
    networks:
      - traefik-public
    deploy:
      resources:
        reservations:
          devices:
            - capabilities: [gpu]

  open-notebook:
    image: opennotebook/open-notebook:latest
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    volumes:
      - notebook_data:/data
    networks:
      - traefik-public
    labels:
      - "traefik.http.routers.notebook.rule=Host(`notebook.${DOMAIN}`)"
      - "traefik.http.routers.notebook.tls=true"

  voicebox:
    image: voicebox/voicebox:latest
    volumes:
      - voice_data:/models
    networks:
      - traefik-public
    labels:
      - "traefik.http.routers.voicebox.rule=Host(`voice.${DOMAIN}`)"

  anythingllm:
    image: mintplexlabs/anythingllm:latest
    environment:
      - STORAGE_DIR=/app/server/storage
      - OLLAMA_BASE_URL=http://ollama:11434
    volumes:
      - anythingllm_data:/app/server/storage
    networks:
      - traefik-public
    labels:
      - "traefik.http.routers.anythingllm.rule=Host(`llm.${DOMAIN}`)"

  n8n:
    image: n8nio/n8n:latest
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=admin
    volumes:
      - n8n_data:/home/node/.n8n
    networks:
      - traefik-public
    labels:
      - "traefik.http.routers.n8n.rule=Host(`n8n.${DOMAIN}`)"

  paperclick:
    image: paperclick/paperclick:latest
    environment:
      - OLLAMA_URL=http://ollama:11434
    networks:
      - traefik-public
    labels:
      - "traefik.http.routers.paperclick.rule=Host(`paperclick.${DOMAIN}`)"

  headroom:
    image: headroom/optimizer:latest
    networks:
      - traefik-public

  # ... (all other services follow the same pattern: BrowserUse, Firecrawl, etc.)

volumes:
  letsencrypt_data:
  ollama_data:
  notebook_data:
  voice_data:
  anythingllm_data:
  n8n_data:

networks:
  traefik-public:
    external: true

Quick start: Create .env with your domain, then docker network create traefik-public, docker compose up -d. All apps will be available under their subdomains with automatic HTTPS.

β–Ό Agent Orchestration & Workflow

PaperClick acts as the CEO, delegating to specialized agents. A typical multi-agent workflow:

  1. Research Agent (Dearflow + Thy Days + BrowserUse) gathers web trends, social opinions, and deep analysis.
  2. Content Agent (Open Notebook + AnythingLLM) drafts documents, notes, and scripts using Ollama models.
  3. Voice Agent (VoiceBox) narrates the script, clones your voice, or generates TTS.
  4. Video Agent (Hyperframe + Open Montage) produces the final video with animations.

n8n ties them together with a visual workflow: on a schedule, it triggers research β†’ stores in vector DB β†’ passes to Notebook β†’ generates voice β†’ renders video β†’ saves to shared volume. All API calls are compressed by Headroom before hitting any external LLM.

β–Ό Security, Maintenance & Token Optimization

  • Skill Spector: Before installing any community skill or plugin, run skill-spector scan ./skill-folder to detect 68 vulnerability patterns.
  • Brond F: Automatically audits codebases and reports vulnerabilities before publishing apps.
  • Anthropic Cyber Security Skills: 66+ audit checks for cloud, web, malware. Integrate into CI/CD.
  • Headroom: Route all outgoing LLM requests through Headroom. Example n8n node: POST http://headroom:8080/compress before sending to OpenAI API, reducing tokens by 80%+.
  • Backups: Docker volumes are mounted; cron job runs docker run --rm -v notebook_data:/data alpine tar czf /backup/notebook-$(date +%F).tgz -C /data .
  • Updates: docker compose pull && docker compose up -d

β–Ό User Journey / End-to-End Example

Sarah wants to create a weekly AI news video without relying on any cloud service.

1. She opens Open Notebook (notebook.yourdomain.com) and creates a project β€œAI Weekly Recap”.

2. An n8n workflow kicks off: Thy Days scrapes trending Reddit threads and YouTube comments; Dearflow performs deep research on the hottest topics.

3. The findings are saved as Markdown files via MarkItDown and stored in the vector database.

4. AnythingLLM drafts a script using the collected data. Sarah reviews and tweaks it inside the same notebook.

5. She sends the script to VoiceBox (voice.yourdomain.com) and generates a natural voiceover.

6. Hyperframe receives the script and voiceover, plus a branding template (HTML/CSS), and renders an MP4 video.

7. The final video is saved to a shared volume; Sarah downloads it or shares via the local network. Throughout, Headroom minimized token costs for any external API calls, and Skill Spector verified all newly installed plugins.

β–Ό Appendix & Quick Reference

Quick-Start Commands

docker network create traefik-public
cp .env.example .env   # set DOMAIN and secrets
docker compose up -d
# Verify: curl -k https://notebook.yourdomain.com

Official Documentation Links

  • Open Notebook: https://github.com/open-notebook
  • Voice Box: https://voicebox.ai (open source)
  • Headroom: https://github.com/headroom
  • Skill Spector: https://github.com/NVIDIA/skill-spector
  • PaperClick: https://paperclick.dev
  • AnythingLLM: https://docs.anythingllm.com
  • n8n: https://docs.n8n.io
  • ComfyUI: https://github.com/comfyanonymous/ComfyUI
  • Ollama: https://ollama.ai
  • MarkItDown: https://github.com/microsoft/markitdown
  • PaddleOCR: https://github.com/PaddlePaddle/PaddleOCR
  • BrowserUse: https://docs.browser-use.com
  • Firecrawl: https://firecrawl.dev
  • Dearflow: https://github.com/dearflow
  • Hyperframe: https://hyperframe.ai
  • Open Montage: https://openmontage.org
  • Gstack: https://gstack.io
  • Superpowers: https://github.com/superpowers
  • Brond F: https://brondf.dev
  • Anthropic Cyber Skills: https://github.com/anthropics/cyber-skills
  • Open Generative AI: https://open-gen.ai
  • Obsidian: https://obsidian.md
  • Hermes Agent: https://github.com/NousResearch/hermes
  • Yang: https://github.com/yang (chat UI)

Troubleshooting

If a service doesn't start, check logs with docker compose logs service-name. Ensure the .env file is correctly sourced and the traefik-public network exists. For GPU support in Ollama, install nvidia-container-toolkit.