Architecture
Frappe Framework is a full-stack web based framework and it includes all the tools needed to deploy a site into production. Database, caching, background jobs, realtime notifications, etc are all configured when you set up a Frappe site.
Frappe framework is based on Python, so it uses the virtualenv to setup
isolated environments for multiple Python versions. You can also use it to
deploy sites with different Frappe versions.
The following diagram closely resembles the frappe-bench directory structure
and its interface with different parts of the stack.
Architecture
To setup a Frappe based site, you need to first install Bench. If you haven't installed it already, check out the Installation page.
You can create a new frappe-bench setup by running the following command:
bench init frappe-bench
This command will do the following:
- Create a directory called
frappe-benchandfrappe-bench/sites,frappe-bench/appswithin it. - Setup a python virtual environment under
frappe-bench/env. - Create a
frappe-bench/configfolder to store redis configuration files. - Download
frappeapp andpip installit. - Install node packages.
- Build JS/CSS assets.
Each frappe-bench setup spawns it owns web, redis and node processes.