Production Deployment
Project: ai-plans Date: 2026-02-08 Status: draft
Context
Deploy ai-plans MkDocs site to production server with domain plans.balabanovich.ru. Enable automatic updates when plans are published via MCP server.
Goals
- Deploy MkDocs site to production server
- Configure domain plans.balabanovich.ru
- Enable auto-pull on git push
- Add authentication for access control
- Enable auto-push from MCP server
Requirements
Functional
- Setup GitHub repository (if not already done)
- Configure server with Docker
- Setup domain DNS
- Configure reverse proxy (Traefik/Nginx)
- Add Basic Auth or OAuth
- Enable auto-pull on push (webhook or cron)
- Update MCP server config for auto-push
- Test end-to-end workflow
Non-functional
- HTTPS with valid certificate
- Fast page load times
- Reliable auto-updates
- Secure authentication
Technical Approach
- GitHub Setup:
- Push to GitHub (if not already)
- Configure as private or public repo
-
Setup webhook for auto-deploy (optional)
-
Server Setup:
- Install Docker and Docker Compose
- Clone repository
- Run
docker compose up -d mkdocs -
Configure auto-pull (webhook or cron)
-
Domain & Proxy:
- Point plans.balabanovich.ru to server IP
- Configure Traefik/Nginx with HTTPS
- Add Basic Auth middleware
-
Forward to localhost:8100
-
MCP Server Config:
- Set
GIT_AUTO_PUSH=truein Kiro config - Test that commits are pushed automatically
-
Verify server pulls and rebuilds
-
Auto-Update Options:
- Option A (Simple): Cron job
git pullevery minute - Option B (Webhook): GitHub webhook → script →
git pull - Option C (CI/CD): GitHub Actions rebuild on push
Constraints and Risks
- Need server access and Docker installed
- DNS propagation may take time
- Need to secure credentials (Basic Auth password)
- Auto-pull may have race conditions with concurrent pushes
Open Questions
- Which server to use? (Coolify, VPS, other?)
- Public or private repository?
- Which auth method? (Basic Auth, OAuth, IP whitelist?)
- Auto-update method preference?