CyberPanel Integration
CyberPanel Integration
Section titled “CyberPanel Integration”Cyberzard provides comprehensive integration with CyberPanel’s REST API for managing websites, databases, email, DNS, SSL, and more.
Configuration
Section titled “Configuration”Set environment variables for CyberPanel access:
export CYBERPANEL_HOST=https://your-server:8090export CYBERPANEL_USER=adminexport CYBERPANEL_PASS=your-passwordOr configure programmatically:
from cyberzard.cyberpanel import CyberPanelClient
client = CyberPanelClient( host="https://your-server:8090", username="admin", password="your-password",)Python API
Section titled “Python API”Website Management
Section titled “Website Management”from cyberzard.cyberpanel import CyberPanelClient
async def manage_websites(): client = CyberPanelClient()
# List all websites websites = await client.list_websites()
# Create a new website await client.create_website( domain="example.com", email="admin@example.com", package="Default", php_version="8.1", )
# Delete a website await client.delete_website("old-site.com")
# Suspend/unsuspend await client.suspend_website("problem-site.com") await client.unsuspend_website("problem-site.com")Database Management
Section titled “Database Management”# List databasesdatabases = await client.list_databases()
# Create a databaseawait client.create_database( db_name="myapp_db", db_user="myapp_user", db_password="secure_password", website="example.com",)
# Delete a databaseawait client.delete_database("old_db")Email Management
Section titled “Email Management”# List email accountsaccounts = await client.list_email_accounts("example.com")
# Create email accountawait client.create_email_account( email="user@example.com", password="secure_password",)
# Create email forwarderawait client.create_email_forwarder( email="alias@example.com", destination="real@example.com",)SSL Certificates
Section titled “SSL Certificates”# Issue Let's Encrypt SSLawait client.issue_ssl("example.com")
# Check SSL statusstatus = await client.ssl_status("example.com")DNS Management
Section titled “DNS Management”# List DNS recordsrecords = await client.list_dns_records("example.com")
# Add DNS recordawait client.add_dns_record( domain="example.com", name="www", record_type="A", value="192.168.1.1", ttl=3600,)
# Delete DNS recordawait client.delete_dns_record(record_id=123)Firewall (CSF)
Section titled “Firewall (CSF)”# Get firewall statusstatus = await client.firewall_status()
# Add firewall ruleawait client.add_firewall_rule( ip="192.168.1.100", action="allow", comment="Trusted IP",)
# Block an IPawait client.block_ip("10.0.0.1")
# Unblock an IPawait client.unblock_ip("10.0.0.1")Backups
Section titled “Backups”# Create backupawait client.create_backup("example.com")
# List backupsbackups = await client.list_backups("example.com")
# Restore backupawait client.restore_backup(backup_id="backup_123")CLI Usage
Section titled “CLI Usage”Use CyberPanel features via the chat mode:
cyberzard chatExample conversations:
You: List all websites on this serverCyberzard: I found 3 websites...
You: Create a new website called myapp.comCyberzard: I'll create the website. What email should I use for the admin?
You: Check the SSL status for myapp.comCyberzard: The SSL certificate for myapp.com is valid until...
You: Block IP 10.0.0.50 in the firewallCyberzard: I've added a firewall rule to block 10.0.0.50.Available Tools
Section titled “Available Tools”When using via MCP or the AI agent, these tools are available:
| Tool | Description |
|---|---|
cyberpanel_list_websites | List all hosted websites |
cyberpanel_create_website | Create a new website |
cyberpanel_delete_website | Delete a website |
cyberpanel_suspend_website | Suspend a website |
cyberpanel_unsuspend_website | Unsuspend a website |
cyberpanel_list_databases | List all databases |
cyberpanel_create_database | Create a new database |
cyberpanel_delete_database | Delete a database |
cyberpanel_list_email_accounts | List email accounts |
cyberpanel_create_email_account | Create email account |
cyberpanel_issue_ssl | Issue/renew SSL certificate |
cyberpanel_list_dns_records | List DNS records |
cyberpanel_add_dns_record | Add DNS record |
cyberpanel_firewall_status | Get firewall status |
cyberpanel_add_firewall_rule | Add firewall rule |
cyberpanel_create_backup | Create website backup |
Error Handling
Section titled “Error Handling”The client handles common errors gracefully:
from cyberzard.cyberpanel import CyberPanelClient, CyberPanelError
try: await client.create_website("example.com", ...)except CyberPanelError as e: print(f"CyberPanel error: {e.message}") print(f"Status code: {e.status_code}")Security Notes
Section titled “Security Notes”- Store credentials securely using environment variables
- Use HTTPS for CyberPanel connections
- Consider IP whitelisting in CyberPanel settings
- Audit API usage in CyberPanel logs