Skill125 repo starsupdated 2mo ago
frappe-ops-cloud
>
Install in Claude Code
Copygit clone --depth 1 https://github.com/Impertio-Studio/Frappe_Claude_Skill_Package /tmp/frappe-ops-cloud && cp -r /tmp/frappe-ops-cloud/skills/source/ops/frappe-ops-cloud ~/.claude/skills/frappe-ops-cloudThen start a new Claude Code session; the skill loads automatically.
Definition
SKILL.md
# Frappe Cloud & Press
Complete reference for Frappe Cloud managed hosting and Press self-hosted alternative.
---
## Quick Reference: Frappe Cloud Concepts
| Concept | Description |
|---------|-------------|
| **Site** | A single Frappe instance with its own database, domain, and apps |
| **Bench** | A shared runtime environment hosting one or more sites with the same app versions |
| **Server** | The underlying infrastructure (VM) running one or more benches |
| **Private Bench** | A dedicated bench for a single customer with full control |
| **Shared Bench** | A Frappe-managed bench shared across multiple sites |
| **Press** | The open-source platform (AGPL-3.0) that powers Frappe Cloud |
| **Agent** | Flask application on each server enabling Press-to-site communication |
---
## Decision Tree: Frappe Cloud vs Self-Hosted
```
Choosing hosting strategy:
├── Small team, want zero ops overhead?
│ └── Frappe Cloud (Shared Bench) — fastest time to production
├── Need custom server configuration?
│ ├── Budget for managed infra? → Frappe Cloud (Private Bench)
│ └── Want full control? → Self-hosted with bench
├── Need to host Frappe for multiple clients?
│ ├── Want managed platform? → Frappe Cloud
│ └── Want own platform? → Self-hosted Press
├── Regulatory/compliance — data must stay on-premises?
│ └── Self-hosted (bench or Press)
└── Development/testing environment?
├── Quick prototype → Frappe Cloud (free trial)
└── Long-term dev → Local bench installation
```
---
## Frappe Cloud Overview
Frappe Cloud is a fully managed hosting platform for the Frappe stack. It handles server provisioning, backups, updates, monitoring, and scaling.
### Core Features
| Feature | Details |
|---------|---------|
| **Automated backups** | Scheduled daily backups with retention policies |
| **Automatic updates** | Managed update cycles for Frappe apps |
| **Scaling** | Horizontal and vertical scaling without downtime |
| **Multi-tenancy** | Multiple independent sites per bench |
| **SSL/TLS** | Automatic certificate provisioning and renewal |
| **Monitoring** | Real-time server and site monitoring |
| **Role-based access** | Granular permissions for team members |
| **Billing** | Daily/monthly subscriptions, wallet credits, multiple payment methods |
### Infrastructure Options
| Option | Use Case |
|--------|----------|
| **Shared Bench** | Cost-effective for small sites; Frappe manages the bench |
| **Private Bench** | Dedicated environment; custom app versions and update schedules |
| **Dedicated Server** | Full server for high-traffic or compliance requirements |
---
## Frappe Cloud Dashboard
### Site Management
The dashboard provides centralized control for all site operations:
- **Create sites** — Provision new sites on shared or private benches
- **Install/remove apps** — Add or remove Frappe apps from sites
- **Backups** — Manual and scheduled backups, restore from backup
- **Domain management** — Add custom domains with automatic SSL
- **Site config** — Edit `site_config.json` via the dashboard
- **Monitoring** — View CPU, memory, disk usage, and request logs
- **Site actions** — Migrate, update, suspend, archive, or transfer sites
### Bench Management
- **Create benches** — Set up shared or private benches
- **App management** — Select apps and their versions/branches
- **Update scheduling** — Control when benches receive updates
- **Environment variables** — Set custom environment variables
- **SSH access** — Connect to bench via SSH for debugging
- **Log browser** — View application and error logs
- **Database access** — Query the database via the dashboard
### Server Management
- **Provision servers** — Create servers across multiple cloud providers
- **Scale resources** — Upgrade CPU, memory, and storage
- **Storage add-ons** — Attach additional storage volumes
- **Server snapshots** — Create and restore server snapshots
---
## Deploying Apps on Frappe Cloud
### Adding a Custom App
1. Navigate to **Apps** in the Frappe Cloud dashboard
2. Click **Add App** and provide the GitHub repository URL
3. Select the branch to deploy
4. Configure build settings if needed
5. The app becomes available for installation on sites within compatible benches
### App Marketplace
Frappe Cloud includes a marketplace where developers can:
- List apps with descriptions and pricing
- Set compatibility requirements (Frappe version, dependencies)
- Configure pricing models (free, one-time, subscription)
- Manage payouts for commercial apps
- Track installations and usage analytics
### Deployment Workflow
```
Developer pushes code → Frappe Cloud detects update →
Bench rebuild triggered → Assets compiled →
Sites migrated → New version live
```
**For Private Benches**: Updates are controlled by the bench owner — NEVER auto-deployed without approval.
**For Shared Benches**: Frappe manages the update schedule.
---
## Site Provisioning Workflow
### Creating a New Site
1. **Select bench** — Choose shared or private bench
2. **Choose plan** — Select resource allocation (CPU, memory, storage)
3. **Configure apps** — Select which apps to install
4. **Set domain** — Use `*.frappe.cloud` subdomain or custom domain
5. **Create** — Frappe Cloud provisions the site (typically under 5 minutes)
### Custom Domain Setup
1. Navigate to site **Domains** in the dashboard
2. Add your custom domain (e.g., `erp.example.com`)
3. Configure DNS: Add a **CNAME** record pointing to the Frappe Cloud proxy
4. Frappe Cloud verifies DNS and provisions SSL certificate automatically
5. **ALWAYS** wait for DNS propagation before expecting SSL to work (up to 48 hours)
### Critical Rules
- **ALWAYS** use CNAME records for custom domains (not A records)
- **NEVER** transfer DNS to Frappe Cloud — only add CNAME records
- **ALWAYS** verify SSL is active before switching production traffic
- Custom domain SSL uses Let's Encrypt — auto-renews before expiry
---
## Frappe Cloud vs Self-Hosted Compariso