Frappe Local is a cross-platform desktop app for creating and managing local Frappe benches and sites visually - without dependency management, or terminal commands.
Caution
Frappe Local is currently under active development.
- Create and manage local Frappe benches visually
- Create and manage Frappe sites without terminal commands
- Install and manage Frappe apps
- Run Frappe workloads inside managed Linux containers
- Automatic local HTTPS using Caddy
- Built-in diagnostics and setup assistance
- Open projects directly in Visual Studio Code Dev Containers
- Cross-platform support for macOS and Windows
| OS | Status | Architecture | Details |
|---|---|---|---|
| ✅ Supported | Apple Silicon & Intel (with virtualization) | Install Guide | |
| ✅ Supported | 64-bit (with hardware virtualization)* | Install Guide | |
| 🚧 Coming Soon | - | Get Notified |
* Frappe Local detects whether WSL2 and Virtual Machine Platform are configured and provides an in-app setup flow when required.
Frappe benches and app asset builds run inside Linux containers. Apps with large frontend builds may require significantly more memory than a basic Frappe bench.
| Resource | Minimum | Recommended |
|---|---|---|
| Memory | 8 GB RAM | 16 GB RAM for multiple benches or frontend-heavy apps |
| CPU | 4 cores with hardware virtualization | 6 or more cores |
| Storage | 20 GB free SSD space | 40 GB or more for multiple benches and apps |
Systems with less than 8 GB RAM are not supported.
On macOS and Windows, Frappe Local configures its container environment to use approximately 75% of host memory while leaving memory available for the operating system.
An internet connection is required during initial setup and when installing apps.
Your network must allow access to:
quay.iofor the Podman machine image- Frappe and app Git repositories, including
github.com - npm, Yarn, Python, and system package registries required by installed apps
Corporate proxies, VPNs, firewalls, or antivirus software may require exceptions for Frappe Local, Podman, WSL, and the required registries.
- Visual Studio Code with the Dev Containers extension is required only for the Open in Dev Container feature.
- Git and other Frappe build dependencies run inside the managed container and do not need to be installed separately on the host.
Download the latest .dmg from GitHub Releases. Choose the file matching your Mac architecture:
- Apple Silicon (M1/M2/M3/...):
Frappe.Local-*-arm64.dmg - Intel (Core i5/i7/i9/...):
Frappe.Local-*-x64.dmg
Open the downloaded .dmg and drag Frappe Local into the Applications folder.
Because the app is not currently signed with an Apple-trusted developer certificate, macOS may block it from opening. Open Terminal and run:
xattr -rds com.apple.quarantine /Applications/Frappe\ Local.appThis removes the macOS quarantine attribute, allowing Frappe Local to open normally.
Download the latest .exe installer from GitHub Releases.
Because the installer is not currently digitally signed, Windows SmartScreen may block it. Open PowerShell in your Downloads folder and run (replacing the filename if necessary):
Unblock-File -Path ".\Frappe Local Setup-*.exe"This removes the Mark of the Web. Alternatively: Right-click the installer > Properties > check Unblock > Apply.
Warning
Windows Defender may still quarantine the extracted .exe after installation.
If the desktop shortcut shows a blank icon or a Missing Shortcut error, add an exclusion for C:\Program Files\frappe-local and run the installer again.
Linux is not supported yet. Show your interest and get notified when it's available!
Creating your first bench initializes a dedicated Podman virtual machine and downloads its Linux image from quay.io. This may take several minutes. Keep Frappe Local open until setup completes.
If setup fails: Open Diagnostics, run the checks, and use Fix where available. Diagnostic errors include the underlying Podman output to help identify issues like blocked downloads, Gatekeeper restrictions, or missing virtualization components.
Frappe Local uses Caddy to provide HTTPS for *.localhost sites. On first use, your OS may ask for permission to trust the Frappe Local certificate authority. If denied or unavailable, Frappe Local automatically falls back to HTTP to avoid invalid certificate errors.
- Electron + Electron Forge
- Vue 3 + Vite
- TypeScript
- Frappe UI + Tailwind CSS
- Podman - dedicated VM for Frappe containers
- Caddy - local HTTPS reverse proxy
- Node.js (tested with v22)
- npm
npm install
npm startFrappe Local dynamically fetches its list of available Frappe apps from Frappe Brewery.
Registry:
https://frappe-brewery.lubus.in/index/apps.json
The registry is automatically downloaded into the bin/ directory as a build asset during npm install and parsed at runtime. The generated registry file is excluded from version control.
npm start- launch Electron app in development modenpm run lint- run ESLintnpm run lint:fix- auto-fix lint issues where possiblenpm run typecheck- run TypeScript checksnpm run test- run Vitest suitenpm run release- build and validate platform release artifactsnpm run icons:generate- auto-generate platform iconsnpm run dev:reset-state- factory reset development environment
src/main- Electron main processsrc/main/preload.ts- preload bridgesrc/renderer- Vue renderer appsrc/shared- shared contracts/types between processestests- unit/integration tests
Explore more open-source tools we're building for the Frappe ecosystem.
|
Run Frappe entirely in your browser. |
Discover community-built apps for Frappe. |
|
Manage secrets and passwords with Frappe. |
Connect WordPress and Frappe with a React data store. |
LUBUS is a web design agency based in Mumbai.
Frappe Local is open-sourced licensed under the MIT License.
