2
0
mirror of https://github.com/frappe/frappe_docker.git synced 2024-11-08 14:21:05 +00:00
frappe_docker/dbench
2017-10-09 08:45:52 +05:30

58 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
display_usage() {
echo "$(basename "$0") [-h] [-c \"<command to be executed inside container>\"]"
echo ''
echo 'where:'
echo ' -h show this help text'
echo ' -c execute a command inside docker using docker exec'
echo ' -s adds site-names to /etc/hosts file in the container to facilitate multisite access'
echo ' init initializes frappe-bench adds a new-site bench-manager.local and installs the bench_manager app
app onto it'
}
if [[ $# -eq 0 ]]; then
docker exec -it frappe bash
elif [ $1 == 'init' ]
then
docker exec -i -u root frappe bash -c "cd /home/frappe && chown -R frappe:frappe ./*"
docker exec -it frappe bash -c "cd .. && bench init frappe-bench --skip-bench-mkdir --skip-redis-config-generation && cd frappe-bench"
docker exec -it frappe bash -c "mv Procfile_docker Procfile && mv sites/common_site_config_docker.json sites/common_site_config.json"
docker exec -it -u root frappe bash -c "apt-get install vim && apt-get install sudo && usermod -aG sudo frappe && printf '# User rules for frappe\nfrappe ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/frappe"
docker exec -it frappe bash -c "bench set-mariadb-host mariadb"
docker exec -it frappe bash -c "bench new-site bench-manager.local"
docker exec -it frappe bash -c "bench get-app bench_manager https://github.com/frappe/bench_manager"
docker exec -it frappe bash -c "bench --site bench-manager.local install-app bench_manager"
else
while getopts ':hsc:' option; do
case "$option" in
h)
display_usage
exit
;;
c)
docker exec -it frappe bash -c "bench $OPTARG"
;;
s)
a=$(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"
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
:)
echo "Option -$OPTARG requires an argument." >&2
exit 1
;;
esac
done
fi