f:: Python, JavaScript, MariaDB, PostgreSQL, Redis
Frappe Manager
# Install Frappe Manager
pip install frappe-manager
# Setup shell completion
fm --install-completion
# Create your first site
fm create devsite --environment dev
Installation
macOS
curl -L https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-2/wkhtmltox-0.12.6-2.macos-cocoa.pkg -O
sudo installer -pkg wkhtmltox-0.12.6-2.macos-cocoa.pkg -target ~
brew install [email protected] git redis [email protected] node@18 postgresql pkg-config mariadb-connector-c mysql-client
nano /opt/homebrew/etc/my.cnf
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
bind-address = 127.0.0.1
[mysql]
default-character-set = utf8mb4
brew services restart [email protected]
sudo mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your_new_password');
FLUSH PRIVILEGES;
Install Bench CLI
curl -LsSf https://astral.sh/uv/install.sh | sh
vim ~/.zshrc
alias bench='uvx --from frappe-bench bench'
bench --version
Installed 18 packages in 21ms
5.23.0
bench init frappe-bench
cd frappe-bench
bench start
Development using containers
Bootstrap Containers for development
git clone https://github.com/frappe/frappe_docker
cd frappe_docker
Copy example devcontainer config
cp -R devcontainer-example .devcontainer
Copy example vscode config for devcontainer. This will setup basic configuration for debugging.
cp -R development/vscode-example development/.vscode
Use VSCode Remote Containers extension
Command Palette (Ctrl + Shift + P) Dev Containers: Reopen in Container
nvm ls
v16.20.2
-> v18.18.2
default -> v18.18.2
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.18.2) (default)
stable -> 18.18 (-> v18.18.2) (default)
lts/* -> lts/jod (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2
lts/hydrogen -> v18.20.8 (-> N/A)
lts/iron -> v20.19.0 (-> N/A)
lts/jod -> v22.14.0 (-> N/A)
Setup bench / new site using script
python installer.py