Frappe_Claude_Skill_Package frappe-ops-cloud

install
source · Clone the upstream repo
git clone https://github.com/OpenAEC-Foundation/Frappe_Claude_Skill_Package
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/OpenAEC-Foundation/Frappe_Claude_Skill_Package "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/source/ops/frappe-ops-cloud" ~/.claude/skills/openaec-foundation-frappe-claude-skill-package-frappe-ops-cloud && rm -rf "$T"
manifest: skills/source/ops/frappe-ops-cloud/SKILL.md
source content

Frappe Cloud & Press

Complete reference for Frappe Cloud managed hosting and Press self-hosted alternative.


Quick Reference: Frappe Cloud Concepts

ConceptDescription
SiteA single Frappe instance with its own database, domain, and apps
BenchA shared runtime environment hosting one or more sites with the same app versions
ServerThe underlying infrastructure (VM) running one or more benches
Private BenchA dedicated bench for a single customer with full control
Shared BenchA Frappe-managed bench shared across multiple sites
PressThe open-source platform (AGPL-3.0) that powers Frappe Cloud
AgentFlask 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

FeatureDetails
Automated backupsScheduled daily backups with retention policies
Automatic updatesManaged update cycles for Frappe apps
ScalingHorizontal and vertical scaling without downtime
Multi-tenancyMultiple independent sites per bench
SSL/TLSAutomatic certificate provisioning and renewal
MonitoringReal-time server and site monitoring
Role-based accessGranular permissions for team members
BillingDaily/monthly subscriptions, wallet credits, multiple payment methods

Infrastructure Options

OptionUse Case
Shared BenchCost-effective for small sites; Frappe manages the bench
Private BenchDedicated environment; custom app versions and update schedules
Dedicated ServerFull 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 Comparison

AspectFrappe CloudSelf-Hosted (bench)Self-Hosted (Press)
Setup timeMinutesHoursDays
Server managementManagedYou manageYou manage
BackupsAutomaticManual/cronAutomatic
UpdatesManaged schedule
bench update
Managed via Press
SSL certificatesAutomaticManual/certbotAutomatic
ScalingDashboard buttonManualDashboard
Multi-tenancyBuilt-inDNS multi-tenantBuilt-in
CostSubscriptionInfrastructure onlyInfrastructure only
Custom server configLimitedFull controlFull control
Data sovereigntyFrappe's infraYour infraYour infra
SSH accessPrivate bench onlyFullFull
MonitoringBuilt-inSet up yourselfBuilt-in
SupportIncludedCommunity onlyCommunity only

Press: Self-Hosted Frappe Cloud

What Is Press?

Press is the open-source platform (AGPL-3.0) that powers Frappe Cloud. Organizations can self-host Press to create their own managed hosting platform for Frappe applications.

GitHub:

https://github.com/frappe/press

Architecture

ComponentTechnologyRole
PressFrappe FrameworkPlatform management, billing, dashboard
AgentFlaskServer-to-site communication
DockerContainer runtimeApp packaging and deployment
AnsibleAutomationServer provisioning and configuration
Frappe UIVue.jsDashboard frontend

Key Capabilities

  • Multi-server management — Provision and manage multiple servers
  • Site lifecycle — Create, update, migrate, backup, restore, archive sites
  • Bench management — Deploy benches with specific app versions
  • Billing system — Subscriptions, invoicing, wallet credits, ERP integration
  • Marketplace — App listing, pricing, payouts
  • Role-based access — Granular permissions per team and resource
  • Monitoring — Real-time metrics and alerting

When to Self-Host Press

  • You need to host Frappe for multiple clients/tenants
  • You want a managed platform but on your own infrastructure
  • You need full data sovereignty and regulatory compliance
  • You want to offer Frappe hosting as a service

When NOT to Self-Host Press

  • NEVER self-host Press for a single site — use bench directly
  • NEVER self-host Press without dedicated DevOps capacity
  • NEVER underestimate the operational overhead — Press itself requires maintenance

Self-Hosting Requirements

  • Dedicated servers (bare metal or VMs) with Ubuntu
  • DNS management for wildcard domains
  • Object storage for backups (S3-compatible)
  • SMTP service for transactional email
  • Familiarity with Ansible, Docker, and Frappe Framework

Frappe Cloud Limitations

What You CANNOT Do on Frappe Cloud

  • Install system-level packages (no root access on shared benches)
  • Modify Nginx/Supervisor configuration directly
  • Access raw database files (only SQL access via dashboard)
  • Run long-running background processes outside Frappe's job queue
  • Use non-standard ports or protocols

Shared Bench Limitations

  • No SSH access
  • No custom environment variables (use site_config.json instead)
  • Shared resources with other sites — performance may vary
  • Update schedule controlled by Frappe (not the site owner)

Private Bench Advantages Over Shared

  • SSH access for debugging
  • Custom environment variables
  • Controlled update schedule
  • Dedicated resources
  • Custom app versions and branches

Frappe Cloud Best Practices

Site Configuration

  • ALWAYS set
    maintenance_mode
    before large data imports
  • ALWAYS use the dashboard for site config changes (not direct file edits)
  • NEVER disable scheduler on Frappe Cloud — use
    pause_scheduler
    instead
  • ALWAYS test app updates on a staging site before production

Backup Strategy

  • Frappe Cloud creates automatic daily backups
  • ALWAYS create a manual backup before major changes
  • ALWAYS download and store backups off-platform periodically
  • NEVER rely solely on Frappe Cloud backups — maintain your own copies

Performance

  • Monitor site usage via the dashboard — upgrade plan before hitting limits
  • Use background jobs for heavy operations (not synchronous API calls)
  • Enable Redis caching for frequently accessed data
  • Review slow query logs via the database analyzer tool

Frappe Cloud DevOps Tools

ToolPurpose
Log BrowserView application logs, error logs, scheduler logs
Database AnalyzerRun SQL queries, view slow queries, analyze indexes
Binlog BrowserView database change logs (binary log events)
SSH AccessTerminal access to private benches for debugging
Process StatusView running workers, scheduler status, job queue

Analytics Integrations

Frappe Cloud sites can connect to external analytics tools:

  • Frappe Insights (native)
  • Power BI (via API)
  • Metabase (via database connection)
  • Custom dashboards (via Frappe API)

Reference Files

FileContents
examples.mdCloud deployment workflow examples
anti-patterns.mdCommon Frappe Cloud mistakes and fixes