f620c6579406709746c1d208c76e9d870c345588
CI - Test & Lint / lint (push) Failing after 1m11s
CI - Test & Lint / test-schema (push) Failing after 8s
🚀 Deploy to cPanel via Git / ci-check (push) Failing after 8s
🚀 Deploy to cPanel via Git / deploy-to-cpanel (push) Has been skipped
🚀 Deploy to cPanel via Git / deploy-fallback (push) Has been skipped
🚀 Deploy to cPanel via Git / verify (push) Has been skipped
🌊 Sync cPanel Git + WordPress / sync-cpanel (push) Failing after 9s
CI - Test & Lint / security (push) Successful in 1m42s
🌊 Sync cPanel Git + WordPress / sync-nextcloud (push) Failing after 10s
- CI workflow: PHP lint, security scan, schema validation - Deploy workflow: SSH -> cPanel git push + WP REST API fallback + verify - Sync workflow: cPanel sync + Nextcloud artifact upload - Health workflow: every 30min plugin health check - Scripts: verify-deploy, deploy-report, check-namespace, health-check, setup-secrets - README with full architecture documentation - Gitea Actions runner registered on Docker Swarm (contabo-swarm-runner)
Hermes cPanel Agent
AI agent runtime for cPanel / WordPress. Runs agent clones (Ody, PI) inside WordPress via REST API + WP-Cron. No SSH, no exec() needed.
Architecture
Git Push → Gitea → Gitea Actions (Docker Swarm on Contabo)
↓
┌───────────────────────┐
│ CI: lint + security │
│ Build: plugin zip │
│ Deploy: git push or │
│ WP REST API │
└───────────────────────┘
↓
┌───────────────────────────────┐
│ cPanel Git Version Control │
│ (auto-pull + auto-deploy) │
└───────────────────────────────┘
↓
┌───────────────────────────────┐
│ WordPress Plugin Runtime │
│ - REST API (hermes/v1/*) │
│ - WP-Cron agent scheduler │
│ - AI Provider (OpenClaw) │
│ - Nextcloud bridge │
└───────────────────────────────┘
↓
Ody Clone (Content Gen)
PI Clone (Auto-Reply)
Gitea Actions Workflows
| Workflow | File | Trigger | What It Does |
|---|---|---|---|
| CI | .gitea/workflows/ci.yml |
push/PR | PHP lint, security scan, schema validation |
| Deploy | .gitea/workflows/deploy.yml |
push to main | SSH → cPanel git push + WP REST API fallback + verification |
| Sync | .gitea/workflows/sync.yml |
push + every 6h | cPanel sync + Nextcloud artifact upload |
| Health | .gitea/workflows/health.yml |
every 30min | Plugin health check + REST API verification |
Blocker Issues
| # | Issue | Status | Assigned |
|---|---|---|---|
| 1 | Cloudflare WAF blocks Contabo from WP REST API | Open | @hermes-contabo |
| 2 | WordPress Application Password needed | Open | @odysseus |
| 3 | Gitea Actions runner (DONE ✅) | Done | @hermes-contabo |
| 4 | cPanel persistent agent design | Open | @hermes-contabo |
| 5 | Transfer repo to falah-os org | Open | @hermes-contabo |
| 6 | CI/CD workflow (DONE ✅) | Done | @hermes-contabo |
| 7 | Ody & PI clones epic | Open | @hermes-contabo |
Secrets Required
Set these in Settings → Actions → Secrets:
WP_URL— https://ummah.falahos.myWP_APP_USER— wmjWP_APP_PASSWORD— WordPress App PasswordCPANEL_SSH_KEY— cPanel Git deploy SSH private keyCPANEL_GIT_REMOTE— cPanel Git remote URLCPANEL_HOST— cPanel hostnameCPANEL_DEPLOY_HOOK_URL— (optional) deploy webhookNEXTCLOUD_HERMES_PASS— Nextcloud password
Plugin Files
hermes-cpanel-agent/
├── hermes-ai-bridge.php # Main plugin bootstrap
├── includes/
│ ├── class-autoloader.php # PSR-4 autoloader
│ ├── core.php # Plugin core bootstrap
│ ├── installer.php # Activation/deactivation
│ ├── rest-controller.php # REST API (hermes/v1/*)
│ ├── ai-provider.php # OpenClaw AI integration
│ ├── scheduler.php # WP-Cron task scheduler
│ └── nextcloud-bridge.php # Nextcloud sync
├── assets/
│ └── admin.css # Admin UI styles
└── .gitea/
├── workflows/
│ ├── ci.yml # CI pipeline
│ ├── deploy.yml # Deploy pipeline
│ ├── sync.yml # Sync pipeline
│ └── health.yml # Health check
└── scripts/
├── verify-deploy.py # Verify plugin deployment
├── deploy-report.py # Parse deploy response
├── check-namespace.py # Verify REST namespace
├── health-check.py # Plugin health check
└── setup-secrets.py # Secret setup guide
Description
Languages
PHP
84.7%
Python
14.6%
CSS
0.7%