Commit Graph

7 Commits

Author SHA1 Message Date
Matt 6f4bee8128 feat: add MCP Browser Sidecar to sysadmin stack
Add mcp-browser service for LLM-driven browser automation:
- Session-based browser management
- Domain allowlisting for security
- Resource limits (CPU/memory)
- Screenshots volume

Also add MCP_BROWSER_URL environment variable to agent.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 20:27:39 +01:00
Matt 0b6fa76816 feat: add Playwright support to sysadmin agent stack
- Add Playwright environment variables (artifacts dir, timeouts)
- Add playwright_artifacts volume for screenshot/trace storage
- Add security_opt: seccomp=unconfined for Chromium sandboxing
- Increase memory limit to 1G (Playwright needs ~300-700MB)
- Increase CPU limit to 1.5 cores
- Remove obsolete version attribute

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 16:11:00 +01:00
Matt 5c74f4c023 refactor: use Gitea container registry for sysadmin agent
Image: code.letsbe.solutions/letsbe/sysadmin-agent:latest

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 12:13:11 +01:00
Matt 230d861f24 refactor: use Docker registry image instead of local builds
- docker-compose now pulls letsbesolutions/sysadmin-agent:latest
- setup.sh pulls image instead of cloning repo and building
- Removed dev-only volume mounts
- Updated resource limits for production

This enables proper CI/CD: push to repo → Gitea builds image →
tenant servers pull latest image.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 12:08:32 +01:00
Matt 1b3ce46518 feat: update agent deployment for secure registration
- Update docker-compose to use REGISTRATION_TOKEN instead of AGENT_TOKEN
- Require SYSADMIN_REGISTRATION_TOKEN env var in env_setup.sh
- Add instructions for obtaining registration token from orchestrator
- Update credentials.env to document registration token usage

The registration token must now be obtained from the orchestrator API:
POST /api/v1/tenants/{tenant_id}/registration-tokens

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-07 11:12:23 +01:00
Matt 62ce4ce692 Add Docker Hub authentication and fix calcom/baserow issues
- Add --docker-user and --docker-token flags to start.sh and setup.sh
- Docker login runs after Docker installation to bypass rate limits
- Store Docker Hub username (not token) in credentials.env for reference
- Fix calcom: use v5.9.8 image tag, remove obsolete version attribute
- Remove baserow stack and nginx config (had template substitution issues)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 16:48:43 +01:00
Matt 52588fc8f1 Initial commit: LetsBe automated server setup scripts 2025-12-04 01:00:41 +01:00