mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-22 07:45:09 +00:00
Merge branch 'release/1_1'
This commit is contained in:
commit
53360b6288
3 changed files with 151 additions and 86 deletions
|
|
@ -16,11 +16,10 @@ before_install:
|
||||||
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||||
- chmod +x docker-compose
|
- chmod +x docker-compose
|
||||||
- sudo mv docker-compose /usr/local/bin
|
- sudo mv docker-compose /usr/local/bin
|
||||||
- chmod u+x ./dbench
|
- chmod ugo+x ./dbench
|
||||||
- chmod u+x ./curl-travis
|
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- ./dbench --setup -d
|
- ./dbench --setup -u
|
||||||
- ./dbench --init
|
- ./dbench --init
|
||||||
- ./dbench --start
|
- ./dbench --start
|
||||||
- pip install --upgrade virtualenv
|
- pip install --upgrade virtualenv
|
||||||
|
|
@ -35,5 +34,4 @@ script:
|
||||||
- docker-compose ps | grep -i redis-socketio
|
- docker-compose ps | grep -i redis-socketio
|
||||||
- docker-compose ps | grep -i mariadb
|
- docker-compose ps | grep -i mariadb
|
||||||
- python test.py
|
- python test.py
|
||||||
- ./curl-travis
|
|
||||||
- docker-compose stop
|
- docker-compose stop
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
curl -H "Content-Type: application/json" --data '{"docker_tag": "env"}' -X POST https://registry.hub.docker.com/u/chabad360/frappe/trigger/$hubkey/
|
|
||||||
228
dbench
228
dbench
|
|
@ -1,20 +1,20 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
function usage {
|
function usage {
|
||||||
echo "Usage: dbench [-hda [sitename] | --init [-ed] [sitename] | --setup [-d] | --start [-b] | -c \"<command to be executed on bench inside container>\"]"
|
echo "Usage: $(basename "$0") [ --setup [-u] | --init [-m -e -d] [sitename] | --start [-b] | -h (--help) | -d (--developer) [sitename] | -a (--add) | -c \"Command to be sent to Frappe Bench on Docker\""
|
||||||
echo ''
|
echo ''
|
||||||
echo 'where:'
|
echo 'where:'
|
||||||
echo ' -h show this help text'
|
echo ' dbench loads up container'
|
||||||
echo ' -c send a command to the frappe container'
|
echo ' -c "command" send a command to bench in the container'
|
||||||
echo ' -d [sitename] enables developer mode for specified site'
|
echo ' -h | --help show this help text'
|
||||||
echo ' -a adds site-names to /etc/hosts file in the container to facilitate multisite access'
|
echo ' -d | --developer [sitename] enables developer mode for "sitename" (if not specified, it will default to site1.local)'
|
||||||
echo ' --setup [-d] builds docker containers, NOTE: assumes you have docker installed'
|
echo ' -a | --add adds site-names to /etc/hosts file in the container to facilitate multisite access'
|
||||||
echo ' -d start up docker containers as well'
|
echo ' --setup [-u] builds docker containers, NOTE: assumes you have docker installed'
|
||||||
|
echo ' -u start up docker containers as well'
|
||||||
|
echo ' --init [-m -e -d] [sitename] initializes frappe-bench in docker and adds a site "sitename" (if not specified, it will default to site1.local)'
|
||||||
|
echo ' -e initializes frappe-bench and installs erpnext'
|
||||||
echo ' --start [-b] starts frappe docker'
|
echo ' --start [-b] starts frappe docker'
|
||||||
echo ' -b starts bench as well'
|
echo ' -b starts bench as well'
|
||||||
echo ' --init [-e | -d] [sitename] initializes frappe-bench in docker and adds a site "sitename" (if not specified, it will default to site1.local)'
|
|
||||||
echo ' -e initializes frappe-bench and installs erpnext'
|
|
||||||
echo ' -d initializes frappe-bench and enables developer mode'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function frappe_installer {
|
function frappe_installer {
|
||||||
|
|
@ -31,83 +31,153 @@ function frappe_installer {
|
||||||
echo "$1 added"
|
echo "$1 added"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [[ $# -eq 0 ]]; then
|
|
||||||
echo "entering container"
|
add=0
|
||||||
|
setup=0
|
||||||
|
up=0
|
||||||
|
start=0
|
||||||
|
init=0
|
||||||
|
dev=0
|
||||||
|
erp=0
|
||||||
|
mgr=0
|
||||||
|
site=0
|
||||||
|
bench=0
|
||||||
|
cmd=0
|
||||||
|
|
||||||
|
positional=()
|
||||||
|
|
||||||
|
if [[ $# -gt 0 ]]; then
|
||||||
docker exec -it frappe bash
|
docker exec -it frappe bash
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
elif [ $1 == '--init' ]; then
|
while [[ $# -gt 0 ]]; do
|
||||||
site=$3
|
key="$1"
|
||||||
if [ -z "$3" ]; then
|
|
||||||
site="site1.local"
|
|
||||||
fi
|
|
||||||
if [ -z "$2" ]; then
|
|
||||||
site="site1.local"
|
|
||||||
else
|
|
||||||
site=$2
|
|
||||||
fi
|
|
||||||
echo "$site"
|
|
||||||
frappe_installer $site
|
|
||||||
if [ "$2" == '-e' ]; then
|
|
||||||
echo "installing erpnext"
|
|
||||||
docker exec -it frappe bash -c "bench get-app erpnext"
|
|
||||||
docker exec -it frappe bash -c "bench --site $site install-app erpnext"
|
|
||||||
echo "finished"
|
|
||||||
elif [ "$2" == '-d' ]; then
|
|
||||||
docker exec -it -u root frappe bash -c "bench --site $site set-config \"developer_mode\" 1 && bench clear-cache"
|
|
||||||
elif [ "$2" == '-ed' ]; then
|
|
||||||
echo "installing erpnext"
|
|
||||||
docker exec -it frappe bash -c "bench get-app erpnext"
|
|
||||||
docker exec -it frappe bash -c "bench --site $site install-app erpnext"
|
|
||||||
docker exec -it -u root frappe bash -c "bench --site $site set-config \"developer_mode\" 1 && bench clear-cache"
|
|
||||||
echo "finished"
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif [ "$1" == '--setup' ]; then
|
case "$key" in
|
||||||
|
-h | --help)
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
-a | --add)
|
||||||
|
add=1
|
||||||
|
;;
|
||||||
|
-d | --developer)
|
||||||
|
dev=1
|
||||||
|
;;
|
||||||
|
-c)
|
||||||
|
cmd=1
|
||||||
|
;;
|
||||||
|
-e)
|
||||||
|
erp=1
|
||||||
|
;;
|
||||||
|
-u)
|
||||||
|
up=1
|
||||||
|
;;
|
||||||
|
-m)
|
||||||
|
mgr=1
|
||||||
|
;;
|
||||||
|
-b)
|
||||||
|
bench=1
|
||||||
|
;;
|
||||||
|
--setup)
|
||||||
|
setup=1
|
||||||
|
;;
|
||||||
|
--init)
|
||||||
|
init=1
|
||||||
|
;;
|
||||||
|
--start)
|
||||||
|
start=1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
positional+=("$key")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
set -- "${positional[@]}"
|
||||||
|
|
||||||
|
site="$1"
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
site="site1.local"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ $setup == 1 ]; then
|
||||||
docker-compose build
|
docker-compose build
|
||||||
if [ "$2" == '-d' ]; then
|
if [ $up == 1 ]; then
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
else
|
else
|
||||||
docker-compose up
|
docker-compose up
|
||||||
fi
|
fi
|
||||||
elif [ "$1" == '--start' ]; then
|
exit 0
|
||||||
docker-compose start
|
fi
|
||||||
./dbench -a
|
|
||||||
if [ "$2" == '-b' ]; then
|
if [ $init == 1 ]; then
|
||||||
docker exec -i frappe bash -c "bench start"
|
|
||||||
|
frappe_installer "$site"
|
||||||
|
|
||||||
|
if [ $mgr == 1 ]; then
|
||||||
|
echo "installing bench manager"
|
||||||
|
docker exec -it frappe bash -c "bench setup manager"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
else
|
if [ $erp == 1 ]; then
|
||||||
while getopts ':hadc:' option; do
|
echo "installing erpnext"
|
||||||
case "$option" in
|
docker exec -it frappe bash -c "bench get-app erpnext"
|
||||||
h)
|
docker exec -it frappe bash -c "bench --site $site install-app erpnext"
|
||||||
display_usage
|
docker exec -it -u root frappe bash -c "bench --site $site set-config \"developer_mode\" 1 && bench clear-cache"
|
||||||
exit
|
echo "finished"
|
||||||
;;
|
fi
|
||||||
a)
|
|
||||||
a=$(docker exec -i frappe bash -c "cd ~/frappe-bench && ls sites/*/site_config.json" | grep -o '/.\+/')
|
if [ $dev == 1 ]; then
|
||||||
a="${a//$'\n'/ }"
|
docker exec -it -u root frappe bash -c "bench --site $site set-config \"developer_mode\" 1 && bench clear-cache"
|
||||||
a=$(echo $a | tr -d / )
|
fi
|
||||||
result="127.0.0.1 ${a}"
|
exit 0
|
||||||
echo $result
|
|
||||||
docker exec -u root -i 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"
|
|
||||||
;;
|
|
||||||
d)
|
|
||||||
docker exec -it -u root frappe bash -c "bench --site $OPTARG set-config \"developer_mode\" 1 && bench clear-cache"
|
|
||||||
;;
|
|
||||||
c)
|
|
||||||
docker exec -it -u root frappe bash -c "bench $OPTARG"
|
|
||||||
;;
|
|
||||||
\?)
|
|
||||||
echo "Invalid option: -$OPTARG" >&2
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
:)
|
|
||||||
echo "Option -$OPTARG requires an argument." >&2
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ $dev == 1 ]; then
|
||||||
|
if [ "$site" == 0 ]; then
|
||||||
|
site="site1.local"
|
||||||
|
fi
|
||||||
|
docker exec -it -u root frappe bash -c "bench --site $site set-config \"developer_mode\" 1 && bench clear-cache"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $start == 1 ]; then
|
||||||
|
docker-compose start
|
||||||
|
./dbench -a
|
||||||
|
if [ $bench == 1 ]; then
|
||||||
|
docker exec -it frappe bash -c "bench start"
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $dev == 1 ]; then
|
||||||
|
docker exec -it -u root frappe bash -c "bench --site $site set-config \"developer_mode\" 1 && bench clear-cache"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $cmd == 1 ]; then
|
||||||
|
docker exec -it frappe bash -c "bench $*"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $add == 1 ]; then
|
||||||
|
a=$(docker exec -i frappe bash -c "cd ~/frappe-bench && ls sites/*/site_config.json" | grep -o '/.\+/')
|
||||||
|
a="${a//$'\n'/ }"
|
||||||
|
a=$(echo "$a" | tr -d / )
|
||||||
|
result="127.0.0.1 ${a}"
|
||||||
|
echo "$result"
|
||||||
|
docker exec -u root -i 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"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if $*; then
|
||||||
|
echo "Incorrect option $*, please make sure you are entering the correct commands"
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
Loading…
Reference in a new issue