Frappe Operator Documentation

Welcome to the comprehensive documentation for the Frappe Operator - a Kubernetes operator that automates the deployment, scaling, and management of Frappe Framework applications (including ERPNext) on Kubernetes clusters.

What is Frappe Operator?

Frappe Operator brings the power of Kubernetes orchestration to Frappe deployments, making it easy to:

  • πŸš€ Deploy Frappe applications with a single command
  • πŸ“ˆ Scale automatically based on traffic and resource usage
  • 🏒 Manage multiple sites efficiently on shared infrastructure
  • πŸ”„ Update with zero-downtime rolling updates
  • πŸ” Secure with auto-generated credentials and RBAC

Quick Navigation

πŸ“˜ Comprehensive Guide

For Platform Operators

For Developers

Key Features

🎯 Core Capabilities

  • Declarative Configuration - Define infrastructure as YAML
  • Multi-Tenancy - Run hundreds of sites on shared infrastructure
  • Auto-Scaling - Scale workers based on queue length (KEDA integration)
  • Database Management - Automatic MariaDB/PostgreSQL provisioning
  • External Database Support - Connect to RDS, Cloud SQL, or any external DB
  • OpenShift Ready - Optimized for restricted security contexts
  • GitOps Compatible - Manage infrastructure as code

πŸ”§ Advanced Features

  • Site-Specific App Installation - Install different apps per site with graceful degradation
  • Hybrid App Installation - Install from FPM packages, Git, or images
  • Worker Autoscaling - Scale-to-zero for cost optimization
  • Site reconciliation concurrency - Tune concurrent site reconciles for 100+ sites (operator config or per-bench)
  • Backup Management - Automated backups with retention policies
  • Observability - Built-in Prometheus metrics and logging
  • Multi-Platform - ARM64 and AMD64 compatible

Quick Start

# Install operator
curl -fsSL https://raw.githubusercontent.com/vyogotech/frappe-operator/main/install.sh | bash

# Create a bench
kubectl apply -f examples/basic-bench.yaml

# Create a site
kubectl apply -f examples/basic-site.yaml

Documentation Structure

πŸ“š Getting Started

πŸ—οΈ Architecture & Concepts

βš™οΈ Configuration & Operations

πŸ“– API Reference

πŸ’‘ Examples

πŸ”§ Troubleshooting

Version Information

  • Current Version: v2.5.0
  • Kubernetes: 1.19+
  • Go Version: 1.24+
  • License: Apache 2.0

Support & Community

What’s New

v2.6.0 (Upcoming)

  • βœ… Site-Specific App Installation: Install different apps per site with graceful degradation
  • βœ… SiteBackup CRD: Automated site backups with bench backup
  • βœ… Full backup options support (files, compression, selective DocTypes)
  • βœ… Scheduled backups via CronJob and one-time via Job
  • βœ… Custom backup paths and filtering capabilities

v2.5.0

  • βœ… OpenShift Route support
  • βœ… Configurable image defaults via ConfigMap
  • βœ… Enhanced Conditions and Events
  • βœ… Improved finalizer cleanup logic
  • βœ… Exponential backoff for retries

v2.4.0

  • βœ… External database support (RDS, Cloud SQL)
  • βœ… Production-ready features
  • βœ… Enhanced security contexts

See Release Notes for complete changelog.


Ready to get started? Head to the Installation Guide!


Built with ❀️ by Vyogo Technologies

This site uses Just the Docs, a documentation theme for Jekyll.