Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deploy

Deploy is an installable Frappe app that adds a Desk control panel for managing Frappe applications on self-hosted benches.

It provides a graphical app marketplace workflow inside Frappe: browse apps, review compatibility and policy checks, select a deployment profile/site, start a guarded install, view progress logs, roll back, and keep an audit trail.

Features

  • Desk page titled Deploy at /app/app-store
  • Marketplace-style app catalog
  • Seeded catalog snapshot from the official Frappe Cloud Marketplace
  • Deployment profiles for Bench, Docker Compose, Kubernetes, remote hosts, and custom adapters
  • Site selector per deployment profile
  • One-click guarded install/update request for apps with a configured source repository
  • Real Bench execution for the local Production Bench profile: backup, bench get-app, bench install-app, asset build, migrate, and install verification
  • Compatibility and policy gating for blocked apps
  • Persistent deployment records
  • Persistent audit logs
  • Progress and sanitized log display
  • Rollback workflow placeholder

Requirements

  • Frappe Framework v15 or newer
  • Bench
  • A Frappe site where you have System Manager access

Installation

From your bench directory:

bench get-app https://github.com/yahyaoudra/deploy.git
bench --site your-site.local install-app deploy
bench --site your-site.local migrate
bench restart

For local development from this checkout:

bench get-app /Users/yahya/Documents/frappeinstaller
bench --site your-site.local install-app deploy
bench --site your-site.local migrate
bench restart

Then open Desk and search for Deploy, or go directly to:

/app/app-store

Development

The bundled catalog seed is stored in deploy/marketplace_seed.json. It was generated from the official Frappe Cloud Marketplace search page and currently contains 342 apps. New marketplace apps default to Review compatibility so administrators can see them without bypassing local repository, version, hook, and policy checks.

Run syntax checks from the app repository:

python3 -m compileall deploy setup.py
node --check deploy/deploy/page/app_store/app_store.js
python3 setup.py --name --version

Inside a bench, reinstall during development with:

bench --site your-site.local migrate
bench --site your-site.local clear-cache
bench restart

Security Model

Deploy only enables real shell execution for the seeded local Production Bench profile. Other demo profiles are disabled for real installs until explicitly wired to a trusted deployment adapter.

For apps with a configured source_repository, Deploy runs:

bench --site <site> backup
bench get-app [--branch <branch>] <repo>
bench --site <site> install-app <app>
bench build --app <app>
bench --site <site> migrate
bench --site <site> list-apps

Installing a new Frappe app changes Python import paths. Restart bench processes after a successful install so web, scheduler, and workers load the newly installed app.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages