Docker environment for developing, deploying, and running Frappe applications (ERPNext and custom apps) in production and development
Find a file
2024-05-24 10:21:58 +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 Docs: Add Image development note 2024-05-19 18:46:14 +02:00
development docs: Add erpnext with add-ons 2024-05-24 10:21:58 +02:00
docs docs: Add multi-tenancy support 2024-05-21 13:22:39 +02:00
images feat: Add GCM 2024-05-24 10:18:14 +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 docs: Add erpnext with add-ons 2024-05-24 10:21:58 +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 Fix: Correct Image use for development 2024-05-19 18:39:18 +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 chore: Update example.env 2024-05-13 11:33:31 +00: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 docs: Add erpnext with add-ons 2024-05-24 10:21:58 +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 need Docker, docker-compose, and git setup in WSL. For Docker basics and best practices refer to Docker's documentation. 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

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 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

Default Install

frap-install

ERPNext with add-on apps

  frap-install -j apps-erpnext.json

Development Branch Apps Install

  frap-install -j apps-development.json

Prod Apps Install

 frap-install -j apps-prod.json

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

  1. cd into Rafnav's development bench
cd rafnav_bench
  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