diff --git a/README.md b/README.md
index 6308622c..a3d01a7e 100644
--- a/README.md
+++ b/README.md
@@ -84,7 +84,7 @@ Express dependency between services, which has two effects:
#### 2. Build the container and install bench
* Clone this repo and change your working directory to frappe_docker
-
+
git clone --depth 1 https://github.com/frappe/frappe_docker.git
cd frappe_docker
@@ -94,7 +94,7 @@ Express dependency between services, which has two effects:
It creates a user, frappe inside the frappe container, whose working directory is /home/frappe. It also clones
the bench-repo from [here](https://github.com/frappe/bench)
- docker-compose up -d
+ ./dbench setup docker
Note: Please do not remove the bench-repo directory the above commands will create
@@ -102,29 +102,25 @@ Express dependency between services, which has two effects:
#### Basic Usage
##### Make sure your current directory is frappe_docker
-1. First time setup
-
+1. First time setup
+
./dbench init
-2. Command to start all the containers
+2. Command to be executed everytime after starting your containers
- docker-compose start
+ ./dbench setup hosts
-3. Command to be executed everytime after starting your containers
+3. Command to enter your container
- ./dbench -s
+ ./dbench
-4. Command to enter your container
-
- docker exec -it frappe bash
-
-5. All bench commands can also be directly run from the host machine by using dbench. For instance ```bench start``` can be executed by running ```./dbench -c start```. Just preface the option with ./dbench -c. For more information on dbench run the command ```./dbench -h```.
+4. All bench commands can also be directly run from the host machine by using dbench. For instance ```bench start``` can be executed by running ```./dbench start```. Just preface the option with **`./dbench`**. For more information on dbench run the command ```./dbench -h```.
For more info on how to build this docker container refer to this [Wiki](https://github.com/frappe/frappe_docker/wiki/Hitchhiker's-guide-to-building-this-frappe_docker-image)
To login to Frappe / ERPNext, open your browser and go to `[your-external-ip]:8000`, probably `localhost:8000`
-The default username is "Administrator" and password is what you set when you created the new site. The default admin password is set in common_site_config.json, and is set to 'admin' in this docker image.
+The default username is "Administrator" and password is what you set when you created the new site. The default admin password is set in common_site_config.json, and is set to 'admin' in this docker image.
## Built With
diff --git a/dbench b/dbench
index 7ed7e387..225a25e3 100755
--- a/dbench
+++ b/dbench
@@ -4,7 +4,7 @@ if [[ $# -eq 0 ]]; then
docker exec -it frappe bash
elif [ "$1" == 'init' ]; then
docker exec -itu root frappe bash -c "cd /home/frappe && chown -R frappe:frappe ./*"
- docker exec -i frappe bash -c "cd .. && bench init frappe-bench --ignore-exist --skip-redis-config-generation"
+ docker exec -i frappe bash -c "cd .. && bench init $2 --ignore-exist --skip-redis-config-generation"
docker exec -i frappe bash -c "mv Procfile_docker Procfile && mv sites/common_site_config_docker.json sites/common_site_config.json && bench set-mariadb-host mariadb"
elif [ "$1" == 'setup' ]; then
if [ "$2" == 'docker' ]; then
@@ -18,7 +18,7 @@ elif [ "$1" == 'setup' ]; then
a="${a//$'\n'/ }"
a=$(echo $a | tr -d / )
result="127.0.0.1 ${a}"
- sudo echo $result >> /etc/hosts
+ echo $result | sudo tee -a /etc/hosts
docker exec -iu root frappe bash -c "echo ${result} | tee --append /etc/hosts"
docker exec -itu root frappe bash -c "printf '# User rules for frappe\nfrappe ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/frappe"
fi
@@ -27,6 +27,23 @@ elif [ "$1" == '-c' ]; then
user=$1
shift
docker exec -iu "$user" frappe bash -c "$@"
+elif [ "$1" == '-h' ]; then
+ echo "$0 [-h] | [ -c frappe | root ] [ command to send to bench ]"
+ echo ""
+ echo "$0 extends the Frappe Bench tool, and is used like it. However, it extends the tool in a few places."
+ echo "Usage:"
+ echo " $0"
+ echo " Launches you into an interactive shell in the container as user frappe"
+ echo " $0 init [bench folder name]"
+ echo " Runs \"bench init\" along with some other commands"
+ echo " $0 setup docker"
+ echo " starts docker using \"docker-compose up -d\""
+ echo " $0 setup hosts"
+ echo " adds all sites to the hosts file, run with sudo"
+ echo " $0 -c frappe | root "
+ echo " Runs a command in the container, as the selected user"
+ echo " $0 [ command to send to bench ]"
+ echo " Runs a command in bench, i.e. $0 new-site site1.local = bench new-site site1.local"
else
IFS=" "
docker exec -it frappe bash -c "bench $*"