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
- Complete Reference Guide - Everything you need to know in one place
For Platform Operators
- Installation Guide - Get started in 5 minutes
- Configuration Guide - Configure operator defaults
- Image Configuration - Set up custom registries
- Operations Guide - Day-to-day operations and maintenance
- Troubleshooting - Common issues and solutions
For Developers
- Getting Started - Quick start guide
- Concepts - Understanding Frappe Operator architecture
- API Reference - Complete CRD documentation
- Examples - Real-world deployment examples
- Site App Installation - Install specific apps per site
- Backup Management - Automated site backups
- Best Practices - Production deployment patterns
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
- Installation - Step-by-step installation guide
- Quick Start - Deploy your first bench and site
- Prerequisites - What you need before starting
ποΈ Architecture & Concepts
- Concepts - Understanding how Frappe Operator works
- Architecture Overview - Component interactions
- Resource Model - CRDs and their relationships
βοΈ Configuration & Operations
- Operations Guide - Day-to-day operations
- Image Configuration - Custom registries and images
- Database Configuration - DB setup and management
- Scaling Configuration - Auto-scaling setup
π API Reference
- API Reference - Complete CRD documentation
- FrappeBench Spec - Bench configuration options
- FrappeSite Spec - Site configuration options
π‘ Examples
- Examples - Real-world deployment scenarios
- Basic Deployment - Simple bench and site
- Production Deployment - High-availability setup
- OpenShift Deployment - OpenShift-specific examples
π§ Troubleshooting
- Troubleshooting Guide - Common issues and solutions
- Debugging - How to debug issues
- Logs and Metrics - Observability tools
Version Information
- Current Version: v2.5.0
- Kubernetes: 1.19+
- Go Version: 1.24+
- License: Apache 2.0
Support & Community
- GitHub: vyogotech/frappe-operator
- Issues: GitHub Issues
- Releases: GitHub Releases
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!