Docker environment for developing, deploying, and running Frappe applications (ERPNext and custom apps) in production and development
Find a file
JJ Grobler edc554c5c6
release: beta_v0.9.0
Development
2025-03-27 13:33:20 +02:00
.github chore(deps): bump docker/bake-action from 4.3.0 to 4.5.0 (#1390) 2024-05-01 12:25:34 +05:30
.vscode chore: Update recommend extensions 2024-05-17 11:09:02 +02:00
devcontainer-example fix: Update ports 2024-10-07 09:09:00 +02:00
development fix: Development Apps 2024-10-07 08:14:30 +02:00
docs Docs: Add rafnav site install 2024-10-07 08:23:53 +02:00
images feat: Update production image 2025-03-27 12:20:01 +02:00
overrides refactor: prepare for v15 (#1243) 2023-10-20 18:40:10 +05:30
resources fix: sync nginx template from bench changes (#1242) 2023-10-20 16:30:55 +05:30
tests refactor: prepare for v15 (#1243) 2023-10-20 18:40:10 +05:30
.dockerignore Global refactoring (#617) 2022-03-14 11:23:03 +05:30
.editorconfig chore: Use pre-commit framework (#604) 2021-12-10 11:48:00 +03:00
.gitignore ci: Remove apps list from git 2025-03-27 12:12:54 +02:00
.pre-commit-config.yaml chore(deps): Update pre-commit hooks (#1384) 2024-05-01 12:24:38 +05:30
.shellcheckrc chore(lint): Take hooks configs out so linting works without pre-commit too (#609) 2021-12-10 12:31:44 +03:00
CODE_OF_CONDUCT.md chore(lint): Run prettier 2021-12-10 11:53:43 +03:00
compose.yaml feat: Update production image 2025-03-27 12:13:09 +02:00
CONTRIBUTING.md ci: refactor (#1158) 2023-06-26 11:54:37 +05:30
docker-bake.hcl refactor: prepare for v15 (#1243) 2023-10-20 18:40:10 +05:30
example.env Fix: remove erpnext from env example 2025-03-27 12:14:29 +02:00
install_x11_deps.sh Cypress UI Test service and updates to installer.py (#1250) 2023-10-26 08:35:31 +05:30
LICENSE chore: Rename LICENSE.md to LICENSE (#608) 2021-12-10 16:25:57 +05:30
pwd.yml chore: Update example.env 2024-05-13 11:33:31 +00:00
README.md FIX: Add Linux Support 2024-07-05 10:57:26 +02:00
requirements-test.txt chore(deps): bump pytest from 8.1.1 to 8.2.0 (#1389) 2024-05-01 12:25:05 +05:30
run-container.sh ref: Better container init in shell 2024-05-17 11:42:13 +02:00
setup.cfg Use pytest (#705) 2022-03-24 10:40:56 +03:00

Getting Started

!! You need to be connected to WSL before proceeding

Other Pre-requisites

To get started, you must have set up an IT Workspace environment. After that, clone this repo:

Introduction

You will be working in the ./development folder a.k.a. a dev workspace. Follow the steps below to set up the workspace.

Workspace Setup

  1. Clone the Repo into your working directory
git clone https://github.com/cronos-capital/RAFNAV-Docker.git
cd RAFNAV-Docker
  1. Create the devcontainer and VsCode configuration from the templates provided
cp -R devcontainer-example .devcontainer
cp -R development/vscode-example development/.vscode

Build the Docker Image

Run the following command in your working directory

docker build -t rafnav_bench:latest ./images/rafnav_bench

You may change the tag to the relevant naming convention. However, you need to change the image used for development in the correct docker-compose file: ./.devcontainer/docker-compose.yml

Container Initialization

You have two options to start the docker container for development:

  1. Opening the folder in VS as a docker container.
  2. Manually starting the container in the terminal.

Reopen the folder in the dev container

  1. Open VsCode in the RAFNAV-Docker folder.
  2. Open the command pallet with ctrl + shift + p or View->Command Pallet
  3. Run the command dev containers: Reopen in container
  4. Wait for the container to warm up...

Manually start the container

  1. Run the following script
docker-compose -f .devcontainer/docker-compose.yml up -d && docker exec -e \"TERM=xterm-256color\" -w /workspace/development -it devcontainer-frappe-1 bash

Easier container start command

Run the following script to install a command to start the default RAFNAV container easily.

echo "alias run-rafnav='cd ~/Documents/RAFNAV-Docker && docker-compose -f .devcontainer/docker-compose.yml up -d && docker exec -e \"TERM=xterm-256color\" -w /workspace/development -it devcontainer-frappe-1 bash'" >> ~/.bash_aliases

Now you can run run-rafnav anywhere in your WSL terminal to start the development container.

Note: Your terminal is now open in the development workspace. However, the VsCode window is not.

Starting Development

GitHub Login (SSH)

Make sure you're setting it up for WSL or Linux

  1. Check for any existing SSH Key
  2. Generate an SSH Key
  3. Add it to your GitHub
  4. Test your connection

RAFNAV Installation

‼️ If you're installing on Linux, run the following command first:

chown frappe:frappe /workspace/development/

Default Install

frap-install -v

ERPNext with add-on apps

  frap-install -j apps-erpnext.json -v

Development Branch Apps Install

  frap-install -j apps-development.json -v

Prod Apps Install

 frap-install -j apps-prod.json -v

Note: For additional args and configs run frap-install --help first.

  1. cd into Rafnav's development bench
cd rafnav_bench

Run the following script to add an alias for navigating to the RAFNAV bench.

echo "alias go-rafnav_bench='cd ~/Documents/RAFNAV-Docker/development/rafnav_bench'" >> ~/.bash_aliases

Now you can use go-rafnav_bench anywhere in linux to navigate to RAFNAV's bench directory.

  1. Now you are able to start development on RAFNAV with all the dependencies and the correct environment set-up.

Documentation

Default Credentials

MariaDB Root Password: 123

Unless changed in the docker or docker-compose file

First site's Administrator password: admin

Unless changed in the docker or docker-compose file

Production

Development