mirror of
https://github.com/frappe/frappe_docker.git
synced 2024-12-23 18:48:58 +00:00
33ad0c4fe9
* testing replacement for dbench * fixed perm issue and added docker control * fixes and tests fixed travis test, and perm issue * auto add permissions * bench setup anything-else should work now * removed adding site names to host (its pointless) * moved redis configuration folder into conf/ * added a docker down feature to dbench and changed some of the docs * hopefully should fix the args issue * Condensed Dockerfile Updated to latest node, and uses python-pip, also condensed a lot the Dockerfile. * Removed extra line * Removed MAINTAINER in favor of LABEL * all installs are in one apt command * Switch bench to dbench, added -s feature of dbench to bench. updated Docker file with sudo and vim, and setup travis to run with said changes * dockerfile: clean up (#52) * Condensed Dockerfile Updated to latest node, and uses python-pip, also condensed a lot the Dockerfile. * fixed travis, and cleaned up dbench a little * Oops... * oops, but only for travis, this runs fine * Travis! * added help to dbench, and updated readme * changes some of the wording of the help message * dbench: fix init issues (#55) ./dbench init would lead to 'missing argument: PATH' issue (#54), and could not find Procfile_docker and site-config. Signed-off-by: Chinmay Pai <chinmaydpai@gmail.com> * bench setup anything-else should work now * Clean cache to get a smaller image (#57) Please include this commit to decrease the size of the docker image, the "rm -rf /var/lib/apt/lists/*" it is not usefull if it is not used in the same stage of the apt-get install RUN, similar with pip cache. References: - https://linux.die.net/man/8/apt-get - https://stackoverflow.com/questions/9510474/removing-pips-cache - https://semaphoreci.com/blog/2016/12/13/lightweight-docker-images-in-5-steps.html By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; (b) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. Signed-off-by: William Moreno Reyes <williamjmorenor@gmail.com> * removed adding site names to host (its pointless) * moved redis configuration folder into conf/ * added a docker down feature to dbench and changed some of the docs * Changed the readme significantly Please enter the commit message for your changes. Lines starting * changed test.py to avoid naming errors * moving some things around for less lines * some more slight name changes * added a .gitignore * added the frappe folder again * added a .dockerignore and fixed the dockerfile up a bit * Updating travis' docker and compose This is the commit message #3: * bringing chown in dbench back * some refractoring * implementing codacy sugestions * moving some things around * Updating dbench in some areas * some random changes and fixes * dockerfile refactoring * Refractoring, reducing layers * removing the py script that took too many lines to do one simple thing * Fixed up the readme * some refractoring * moving to debian slim and refractoring * adding some logging * Updated travis to ubuntu xenial, should fix the curl issue * manually building curl, cause we cant use the latest version... * maybe we dont need it * changing the url to curl * trying this instead * lets just let it pollute the stream * please pollute!
59 lines
2.2 KiB
Bash
Executable File
59 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function run () {
|
|
user=$1
|
|
shift
|
|
docker exec -itu "${user}" frappe bash -c "$@"
|
|
}
|
|
|
|
if [[ $# -eq 0 ]]; then
|
|
docker exec -it frappe bash
|
|
elif [[ "$1" == 'init' ]]; then
|
|
run root "chown -R frappe:frappe /home/frappe"
|
|
run frappe "cd .. && bench init frappe-bench --ignore-exist --skip-redis-config-generation && cd frappe-bench"
|
|
run frappe "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
|
|
if [[ "$3" == '--swarm-mode' ]]; then
|
|
echo "Docker swarm mode is not currently supported"
|
|
elif [[ "$3" == 'down' ]]; then
|
|
docker-compose down
|
|
elif [[ "$3" == 'stop' ]]; then
|
|
docker-compose stop
|
|
else
|
|
docker-compose up -d
|
|
fi
|
|
elif [[ "$2" == 'hosts' ]]; then
|
|
a=$(run frappe "ls sites/*/site_config.json | grep -o '/.\+/'") \
|
|
a="${a//$'\n'/ }"
|
|
a=$(echo "$a" | tr -d / )
|
|
result="127.0.0.1 ${a}"
|
|
run root "echo ${result} | tee --append /etc/hosts"
|
|
fi
|
|
elif [[ "$1" == '-c' ]]; then
|
|
shift
|
|
user=$1
|
|
shift
|
|
run "$user" "$@"
|
|
elif [[ "$1" == '-h' ]]; then
|
|
echo "$0 [-h] | [ -c frappe | root <command to run> ] [ <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 setup docker [ stop | down ]"
|
|
echo " Starts and builds the docker containers using \"docker-compose up -d\""
|
|
echo " $0 setup hosts"
|
|
echo " Adds all sites to the containers hosts file"
|
|
echo " $0 -c frappe | root <command to run>"
|
|
echo " Runs a command in the container, as the selected user"
|
|
echo " $0 -h"
|
|
echo " Shows this help message"
|
|
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=" "
|
|
run frappe "bench $*"
|
|
fi
|