Unattended script for ERPNext installation (Supports Versions 13, 14 and 15).
This is a no-interactive script for installing ERPNext Versions 13, 14 and 15. You can set up either development or production with very minimal interaction.
To use this script, follow these steps:
Make sure you install the latest package versions by updating system packages if you are running this script on a fresh Ubuntu machine.
sudo apt update && sudo apt -y upgrade
and then reboot your machine
- Clone the Repo:
git clone https://github.com/flexcomng/erpnext_quick_install.git
- navigate to the folder:
cd erpnext_quick_install
- Make the script executable
chmod +x erpnext_install.sh
- Run the script:
source erpnext_install.sh
Ubuntu 24.04 LTS, Ubuntu 23.04 LTS, Ubuntu 22.04 LTS, Ubuntu 20.04 LTS
Debian 10 (Buster), Debian 11 (Bulls Eye) Debian 12 (Bookworm)
Version 15 Compatibility is set to Ubuntu 22.04 LTS and above and Debian 12 only. Lower versions are not supported for version 15 installation due to dependency issues. Visit https://github.com/gavindsouza/awesome-frappe to learn about other apps you can install.
If you encounter spawn error on socketio when running bench restart, run the following commands:
bench setup socketio
bench setup supervisor
bench setup redis
sudo supervisorctl reload
This will fix the spawn error and all services will restart successfully.
Similar to Superset, another module that presents information through graphs and charts on Dashboards.
In order to utilise the full integration between ERPNext and Frepple, you will need a running instance of Frepple software. To install Frepple software in both Windows and Linux refer to this document.
-
Prerequisites:
- Windows: Docker Desktop
- Ubuntu: Docker Engine, Docker Compose
- Mac: Docker Desktop
-
The installation of this release includes the following:
-
For Windows & MacOS user, start from
Section 3
. -
For Ubuntu user, start from
Section 4
.
-
The setup guide is tested to work on
Windows 10
,Ubuntu 18.04
andmacOS Mojave 10.14.6
-
For Windows and MacOS, create a folder.
-
Open a Powershell terminal, navigate to the newly created folder.
-
Go to
Section 5: Setup
.
-
Open a terminal.
-
Create a user called
frappe
. (You can give a name of your preference to replacefrappe
)sudo adduser frappe
-
You may be promted to give a password for the newly created user
frappe
. Remember this password, you will need it for the next step. -
Log into the user
frappe
su - frappe
-
Create a folder called
frappe_docker
. Again, folder name is of your preference. Navigate into the new directory.mkdir frappe_docker
cd frappe_docker
-
Go to
Section 5: Setup
.
-
Clone this repo.
git clone https://github.com/msf4-0/ERPNext-Lean4.0
-
Navigate to the cloned folder.
cd ERPNext-Lean4.0
-
In
enx-example
, you can change the variables that would be used in this installation process to your preference such as the following:- Server port to host ERPNext,
ERPNEXT_SERVER_PORT
. Default is8000
. - Database port,
MARIADB_SERVER_PORT
. Default is3306
. - Site name
SITE_NAME
. Default iscustom-erpnext-nginx
.
Note:
- You can leave these variables as it's provided if all the specified ports are not occupied.
- Upon successful setup, you can access ERPNext via port number
ERPNEXT_SERVER_PORT
. - For Metabase Integration, you would need to connect to Mariadb via
MARIADB_SERVER_PORT
.
- Server port to host ERPNext,
-
Copy environment variables from the
env-example
file into.env
file using this commandcp env-example .env
. -
Start all the docker containers by this command
docker-compose -p <project_name> up -d
.Note:
- Replace
<project_name>
to your preference. - For example,
docker-compose -p project1 up -d
- Replace
-
Monitor the site creation progress by logging into the
<project_name>-site-creator-1
container. To do this step, use this commanddocker logs <project_name>-site-creator-1 -f
.Note:
- Replace
<project_name>
to the same project name as in step 4. - For example,
docker logs project1-site-creator-1 -f
. - If you face
no such container
error, try withdocker logs project1-site-creator_1 -f
ordocker logs project1_site-creator_1 -f
.
- Replace
-
After the
<project_name>-site-creator-1
container displayScheduler is disabled
, login to<project_name>-erpnext-python-1
container. Usedocker exec -it --user root <project_name>-erpnext-python-1 /bin/bash
to login into this container as a root user.Note:
- Replace
<project_name>
to the same project name selected in step 4. - For example,
docker exec -it --user root project1-erpnext-python-1 /bin/bash
. - If you face
no such container
error, try withdocker exec -it --user root project1-erpnext-python_1 /bin/bash
ordocker exec -it --user root project1_erpnext-python_1 /bin/bash
.
- Replace
-
Once you login in into
<project_name>-erpnext-python-1
container, by default, you will be in the~:/home/frappe/frappe-bench/sites
directory. Navigate out to~:/home/frappe/frappe-bench
directory by typingcd ..
. -
Now, apply the new changes in Frepple app by running this command
bench --site <site_name> migrate
.Note:
- Replace
<site_name>
to the same name as specified in the .env file. Refer to step 3 and 4. - For example,
bench --site custom-erpnext-nginx migrate
- Replace
-
After the process
Compiling Python files...
is finished, you will be back in the~:/home/frappe/frappe-bench
directory. This means thebench migrate
process is completed. Typeexit
to exit from<project_name>-erpnext-python-1
container. -
Now, you can open any browser such as
Google Chrome
and access ERPNext viahttp://localhost:<ERPNext_Server_Port>
orhttp://<Your_IP_address>:<ERPNext_Server_Port>
.Note:
- Type the selected ERPNext port number in
<ERPNext_Server_Port>
selected in step 4. - For example,
http://localhost:8000
orhttp://127.0.0.1:8000
.
- Type the selected ERPNext port number in
-
Default credentials.
- Username:
Administrator
- Password:
admin
- Username:
- To stop all the docker containers related to your
<peoject-name
> project:- Open a Powershell terminal, navigate to
IRPS-Enhanced-Frepple-Integration
folder. - Run
docker-compose -p <project-name> stop
. - For example,
docker-compose -p project1 stop
.
- Open a Powershell terminal, navigate to
- To start up all the docker containers related to your
<peoject-name
> project:- Open a Powershell terminal, navigate to
IRPS-Enhanced-Frepple-Integration
folder. - Run
docker-compose -p <project-name> start
. - For example,
docker-compose -p project1 start
.
- Open a Powershell terminal, navigate to
- To remove all the docker containers related to your
<peoject-name
> project:- Open a Powershell terminal, navigate to
IRPS-Enhanced-Frepple-Integration
folder. - Run
docker-compose -p <project-name> down
or rundocker-compose -p <project-name> down -v
to remove the related Docker Volume. - For example,
docker-compose -p project1 down -v
- Open a Powershell terminal, navigate to
- Assumptions:
- You have a running instance of ERPNext in docker production container.
- How to update custom app
- Assumptions:
- You have a running instance of ERPNext in docker production container.
- Alternatives:
- Assumptions:
- You have your backup files on your pc (if you perform online backup, you can download the backup files onto your pc).
- You have a running instance of ERPNext in docker production container in which you want to restore with the backup files.
- Restore
- Fork this repo to build your own image with ERPNext and list of custom Frappe apps.
- Change
nginx/Dockerfile
and add required apps. Refer comments in the file. - Change
worker/Dockerfile
and add required apps.
Example file uses following apps:
- Metabase Integration
- Telegram Integration
- Enhanced Frepple Integration
- Barcode Scanning System
- Autocount
- SQL Account
Execute from root of app repo.
For nginx:
# For version-12
docker build --build-arg=FRAPPE_BRANCH=version-12 --build-arg=GITHUB_OWNER=<github-username> -t custom-erpnext-nginx:v12 nginx
# Example:
docker build --build-arg=FRAPPE_BRANCH=version-12 --build-arg=GITHUB_OWNER=msf4-0 -t custom-erpnext-nginx:version-12 nginx
For worker:
# For version-12
docker build --build-arg=FRAPPE_BRANCH=version-12 --build-arg=GITHUB_OWNER=<github-username> -t custom-erpnext-worker:version-12 worker
# Example:
docker build --build-arg=FRAPPE_BRANCH=version-12 --build-arg=GITHUB_OWNER=msf4-0 -t custom-erpnext-worker:version-12 worker
- Tag the images bulilt from Step 2 with the format:
docker tag <Image Name>:<Version> <Docker Hub Username>/<Image Name>:<Version>
For nginx:
docker tag custom-erpnext-nginx:version-12 shrdc/custom-erpnext-nginx:version-12
For worker:
docker tag custom-erpnext-worker:version-12 shrdc/custom-erpnext-worker:version-12
Reference: Steps to create a Docker Hub, and push images to it.
- To push to Docker Hub, run
docker push
with the tagged name created before.
docker push shrdc/custom-erpnext-nginx:version-12
docker push shrdc/custom-erpnext-worker:version-12
- Possible troubleshoot:
When you face
denied: requested access to the resource is denied
when pushing images, rundocker login
and enter your credentials. Then push image again.
- You may need to change the
DOCKER_USERNAME
inenv-example
to the username of the Docker Hub account in which you have pushed your images to. - Copy
env-example
into.env
by runningcp env-example .env
.
- The following commands should be executed on the
~/some/path/Integrated-Resource-Planning-System-IRPS
directory docker-compose -p <project_name> up -d
docker logs <project_name>_site-creator_1 -f
- If you got a
no such container
error, you may need to change todocker logs <project_name>-site-creator-1 -f
- If you got a
- After the
site_creator
container exited, open a browser, you can access ERPNext onlocalhost:8000
or127.0.0.1:8000
. - You can push the changes back to this repo (or your own repo if you forked one from this repo).
This software is licensed under the GNU GPLv3 LICENSE © Selangor Human Resource Development Centre. 2021. All Rights Reserved.