- Remove blog_static/ and blog_sample/ files (moved to p2pfoundation-wiki repo)
- Update CI/CD: rename p2pwiki-content → p2pwiki-ai (image, deploy path)
- Make content paths configurable via CONTENT_DIR env var in config.py
- Update parser.py to use settings.articles_dir instead of hardcoded path
- Update docker-compose.yml: HOST_XMLDUMP_DIR for flexible content mounting
- Rewrite README.md: link to content repo, document env vars
- Update .env.example with content path configuration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Deploying all services restarts the main wiki causing brief 404.
Only deploy the AI service and check its container status.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Runner container can't always resolve Cloudflare-tunneled domains.
Run curl from host via SSH instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
bloggr, blogfr, and blognl were falling through to the
p2pfoundation.net UUID instead of the blog UUID.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add Python entrypoint.sh to fetch secrets from Infisical
- Remove ANTHROPIC_API_KEY from compose env, add INFISICAL_* vars
- P2P Foundation stack (blog_static/) DB passwords deferred to separate task
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds install-cirrussearch.sh to replace MySQL full-text search with
Elasticsearch, fixing stopword issues (e.g. "Will Ruddick" returning
0 results). Also adds backlog tasks for HitCounters (done) and
CirrusSearch installation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add MediaWiki API client (src/mediawiki.py) for draft management and authentication
- Add wiki draft approval endpoints (GET /wiki/drafts, POST /wiki/approve, GET /wiki/auth)
- Add Wiki Drafts panel to web UI with approval workflow and confirmation modal
- Install HitCounters extension on wiki server (106M+ historical page views restored)
- Fix HitCounters deprecation warning (Language::convert -> LanguageConverterFactory)
- Add blog parser for static blog content processing
- Update .gitignore to exclude large data/blog_static directories
- Increase Ollama timeout to 5 min for large content generation
- Initialize backlog task tracking
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- src/mediawiki.py: MediaWiki API client with login, edit, and draft approval support
- wiki_scripts/install_gadgets.py: Bot-based script to install draft approval gadgets
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The LLM analysis step was taking too long and causing 524 errors.
Now returns immediately and processes in background.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- RAG-based chat with 39k wiki articles (232k chunks)
- Article ingress pipeline for processing external URLs
- Review queue for AI-generated content
- FastAPI backend with web UI
- Traefik-ready Docker setup for p2pwiki.jeffemmett.com
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>