diff --git a/Makefile b/Makefile index 5879546..309ff2a 100644 --- a/Makefile +++ b/Makefile @@ -1,27 +1,32 @@ -PROJECT_NAME = pybossa -PROJECT_DIR = $(CURDIR) -SED_REPLACE_ALL = sed -i "s/$(1)/$(2)/g" "$(3)" -SED_REPLACE_ALL_PATH = sed -i "s\#$(1)\#$(2)\#g" "$(3)" - -VLIBRAS_NAME ?= vlibras-wiki -VLIBRAS_WIKILIBRAS_ENV := /etc/profile.d/${VLIBRAS_NAME}_env.sh - --include "${VLIBRAS_WIKILIBRAS_ENV}" - -ifndef LOCALHOST - ifndef NETWORK_INTERFACE - NETWORK_INTERFACE := $(shell ip route | grep "default" | awk '{print $$5; exit}') - endif - ifdef NETWORK_INTERFACE - LOCALHOST := $(shell ip addr list ${NETWORK_INTERFACE} | grep "inet " | cut -d ' ' -f6 | cut -d/ -f1) +PROJECT_NAME := pybossa +PROJECT_DIR := $(CURDIR) +SED_REPLACE_ALL = sed -i "s/$(1)/$(2)/g" "$(3)" +SED_REPLACE_ALL_PATH = sed -i "s\#$(1)\#$(2)\#g" "$(3)" + +ifndef IP + ifneq ($(shell ip route | grep "default" | awk '{print $$5; exit}'),) + IP := $(shell ip route get 1 | awk '{print $$7; exit}') + else + IP := 127.0.0.1 endif endif -ifndef LOCALHOST - LOCALHOST := 127.0.0.1 -endif +LOCALHOST ?= ${IP} + +install: .install config build + +build: env create-db + @ sudo chown redis:redis /etc/redis/redis.conf + @ sudo chown redis:redis /etc/redis/sentinel.conf + @ sudo service redis-server stop + @ sudo update-rc.d -f redis-server remove + @ while ! sudo service supervisor restart; do echo "fail, retrying ..."; done + @ sudo supervisorctl restart rq-scheduler + @ sudo supervisorctl restart rq-worker + @ sudo supervisorctl restart pybossa -install: uninstall install-dep config build +clean: + @ find . -regextype posix-awk -regex "(.*.log|.*.pyc)" -type f -print -delete config: @ cp ./alembic.ini.template ./alembic.ini @@ -54,55 +59,21 @@ config: @ sudo install -m 644 -p ./contrib/supervisor/redis-server.conf /etc/supervisor/conf.d/redis-server.conf @ sudo install -m 644 -p ./contrib/supervisor/rq-scheduler.conf /etc/supervisor/conf.d/rq-scheduler.conf @ sudo install -m 644 -p ./contrib/supervisor/rq-worker.conf /etc/supervisor/conf.d/rq-worker.conf - @ sudo chown redis:redis /etc/redis/redis.conf - @ sudo chown redis:redis /etc/redis/sentinel.conf - @ [ -e /etc/apache2/sites-enabled/vlibras-wiki.conf ] || sudo a2ensite pybossa.conf - @ sudo service redis-server stop - @ sudo update-rc.d -f redis-server remove - -@ sudo killall redis-server - @ # sudo rm -f /etc/apache2/sites-available/vlibras-wiki.conf /etc/apache2/sites-enabled/vlibras-wiki.conf + @ cat /etc/apache2/sites-available/pybossa.conf + @ ([ -e /etc/apache2/sites-enabled/wikilibras.conf ] && sudo a2dissite wikilibras.conf) || sudo a2ensite pybossa.conf + @ sudo service apache2 restart + @ sudo service apache2 reload env: @ ( \ - virtualenv ./env/; \ - . ./env/bin/activate; \ - pip install -U pip; \ - pip install -U uwsgi; \ - pip install -U ndg-httpsclient; \ - pip install -r requirements.txt; \ - ) - -build: env - -@ sudo service postgresql restart > /dev/null - -@ $(MAKE) -s drop-db > /dev/null - -@ $(MAKE) -s create-db > /dev/null - @( \ - . ./env/bin/activate; \ - python cli.py db_create; \ - ) - @ while ! sudo service supervisor restart; do echo "fail, retrying ..."; done - @ sudo supervisorctl restart rq-scheduler - @ sudo supervisorctl restart rq-worker - @ sudo supervisorctl restart pybossa - @ sudo service apache2 restart - @ sudo service apache2 reload - @ echo "\33[32;1mYou must create an account to administer the site then copy your API key\\33[0m" - @ $(MAKE) -s api-key - -api-key: - @( \ - echo -n "\33[34;1mInput your API key from pybossa account: \33[0m"; \ - unset APIKEY; \ - read APIKEY; \ - sed -i "/^export PYBOSSA_API_KEY=/d" ~/.bashrc ; \ - sed -i "\$$aexport PYBOSSA_API_KEY=\"$$APIKEY\"" ~/.bashrc; \ - echo "\33[33;1mtype: \33[32;1mexport PYBOSSA_API_KEY=\"$$APIKEY\"\\33[0m"; \ - echo "\33[33;1mtype: \33[32;1msource ~/.bashrc\\33[0m"; \ - echo "\33[33;1mor open a new terminal\\33[0m"; \ + virtualenv ./env/; \ + . ./env/bin/activate; \ + pip install -U pip; \ + pip install -U uwsgi; \ + pip install -U ndg-httpsclient; \ + pip install -r requirements.txt; \ ) -clean: - @ find . -regextype posix-awk -regex "(.*.log|.*.pyc)" -type f -print -delete uninstall: clean @ rm -rf ./env/ @@ -114,15 +85,11 @@ uninstall: clean run: @ ( \ - . ./env/bin/activate; \ - python main.py; \ + . ./env/bin/activate; \ + python main.py; \ ) -uninstall-dep: - @ sudo apt-get -y purge --auto-remove apache2 apache2-bin apache2-data apache2-utils supervisor redis-server && sudo apt-get -y autoremove - @ sudo rm -rf "/etc/apache2" "/var/log/apache2" "/var/log/redis" "/var/log/supervisor" - -install-dep: +.install: @ sudo apt-get update && \ sudo apt-get install -y git-core \ postgresql postgresql-server-dev-all libpq-dev python-psycopg2 \ @@ -136,15 +103,31 @@ install-dep: @ sudo a2enmod headers -@ sudo a2dissite 000-default.conf -PYBOSSA_DB_USERNAME := pybossa -PYBOSSA_DB_PASSWORD := tester -PYBOSSA_DB_CREATE := psql -c \"CREATE USER pybossa WITH PASSWORD '${PYBOSSA_DB_PASSWORD}'\"; -PYBOSSA_DB_CREATE += psql -c \"CREATE DATABASE pybossa OWNER ${PYBOSSA_DB_USERNAME}\"; -PYBOSSA_DB_DROP := psql -c \"DROP DATABASE ${PYBOSSA_DB_USERNAME}\"; -PYBOSSA_DB_DROP += psql -c \"DROP USER ${PYBOSSA_DB_USERNAME}\"; +PYBOSSA_DB_USERNAME := pybossa +PYBOSSA_DB_PASSWORD := tester +PYBOSSA_DB_CREATE := psql -c \"CREATE USER pybossa WITH PASSWORD '${PYBOSSA_DB_PASSWORD}'\"; +PYBOSSA_DB_CREATE += psql -c \"CREATE DATABASE pybossa OWNER ${PYBOSSA_DB_USERNAME}\"; +PYBOSSA_DB_DROP := psql -c \"DROP DATABASE ${PYBOSSA_DB_USERNAME}\"; +PYBOSSA_DB_DROP += psql -c \"DROP USER ${PYBOSSA_DB_USERNAME}\"; +PYBOSSA_DB_DUMPFILE := pybossa-dump.sql +PYBOSSA_DB_VERBOSE := -v +PYBOSSA_DB_ADMINFILE := wikilibras-pybossa.sql -create-db: +.postgresql: + -@ sudo service postgresql restart + +create-db: .postgresql env @ sudo su postgres -c "${PYBOSSA_DB_CREATE}" + @ ( \ + . ./env/bin/activate; \ + python cli.py db_create; \ + ) -drop-db: +create-admin: + @ sudo su postgres -c "psql --set ON_ERROR_STOP=off -f ${PYBOSSA_DB_ADMINFILE} ${PYBOSSA_DB_USERNAME}" + +drop-db: .postgresql @ sudo su postgres -c "${PYBOSSA_DB_DROP}" + +${PYBOSSA_DB_DUMPFILE}: + @ sudo su postgres -c "PGPASSWORD='${PYBOSSA_DB_PASSWORD}' pg_dump ${PYBOSSA_DB_VERBOSE} -b --inserts ${PYBOSSA_DB_USERNAME};" > ${PYBOSSA_DB_DUMPFILE} diff --git a/wikilibras-pybossa.sql b/wikilibras-pybossa.sql new file mode 100644 index 0000000..fabfd41 --- /dev/null +++ b/wikilibras-pybossa.sql @@ -0,0 +1,5 @@ +-- how to install: +-- sudo su postgres -c "psql --set ON_ERROR_STOP=off -f wikilibras-pybossa.sql pybossa" + +INSERT INTO "user" VALUES (1, '2017-01-01T00:00:00.000000', 'wikilibras@lavid.ufpb.br', 'wikilibras', 'wikilibras', 'pt_BR', '2324bc23-7d6f-4840-8905-b1e6c1675eed', 'pbkdf2:sha1:1000$wIP6vkOx$99be5c325961aa39030bb10e3b58a85ac3bfaa90', true, false, false, NULL, NULL, NULL, NULL, NULL, NULL, false, true, false, true, '{}', 1); +SELECT pg_catalog.setval('user_id_seq', 1, true); -- libgit2 0.21.2