- Correct network name from ai-orchestrator_ai-internal to ai-internal
- Add pdf-ocr service for ocr.jeffemmett.com (Dockerfile, app.py, compose)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Added missing traefik.docker.network=traefik-public label that was
preventing Traefik from discovering the container's routes. Also
added explicit router-to-service mappings for both frontend and API.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Removed obsolete docker-compose version field
- Updated API_URL to use HTTPS via notebook-api subdomain
- Browser will access API through Cloudflare tunnel → Traefik
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Docker Compose with Traefik labels for notebook.jeffemmett.com
- Configured to use local Ollama for LLM and embeddings (FREE)
- STT/TTS options documented (Groq free tier, ElevenLabs)
- Connected to ai-orchestrator_ai-internal network
- Deployment script and README included
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>