|
.PHONY: default banner help install build run stop restart rasa-restart rasa-stop rasa-start rasa-build seed logs ngrok pgadmin api api-stop db db-stop db-purge purge models shell-api shell-db shell-rasa shell-actions rasa-train rasa-start rasa-stop env-var |
|
|
|
defaut: help |
|
|
|
help: |
|
@make banner |
|
@echo "+------------------+" |
|
@echo "| π CORE COMMANDS |" |
|
@echo "+------------------+" |
|
@echo "make install - Install and run RasaGPT" |
|
@echo "make build - Build docker images" |
|
@echo "make run - Run RasaGPT" |
|
@echo "make stop - Stop RasaGPT" |
|
@echo "make restart - Restart RasaGPT\n" |
|
@echo "+--------------------+" |
|
@echo "| π ADMIN INTERACES |" |
|
@echo "+--------------------+" |
|
@echo "make logs - View logs via Dozzle" |
|
@echo "make ngrok - View ngrok dashboard" |
|
@echo "make pgadmin - View pgAdmin dashboard\n" |
|
@echo "+-----------------------+" |
|
@echo "| π· DEBUGGING COMMANDS |" |
|
@echo "+-----------------------+" |
|
@echo "make api - Run only API server" |
|
@echo "make models - Build Rasa models" |
|
@echo "make purge - Remove all docker images" |
|
@echo "make db-purge - Delete all data in database" |
|
@echo "make db-reset - Reset database to initial state" |
|
@echo "make shell-api - Open shell in API container" |
|
@echo "make shell-db - Open shell in database container" |
|
@echo "make shell-rasa - Open shell in Rasa container" |
|
@echo "make shell-actions - Open shell in Rasa actions container\n" |
|
|
|
|
|
banner: |
|
@echo "\n\n-------------------------------------" |
|
@echo "βββββ ββββ βββ ββββ βββββ βββββ βββββ" |
|
@echo "βββββ ββββ βββ ββββ βββββ βββββ βββββ" |
|
@echo "βββββ ββββ βββ ββββ βββββ βββββ βββββ" |
|
@echo "+-----------------------------------+" |
|
@echo "| http://RasaGPT.dev by @paulpierre |" |
|
@echo "+-----------------------------------+\n\n" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
install: |
|
@make banner |
|
@make stop |
|
@make env-var |
|
@make rasa-train |
|
@make build |
|
@make run |
|
@make models |
|
@make rasa-restart |
|
@make seed |
|
@echo "β
RasaGPT installed and running" |
|
|
|
|
|
|
|
|
|
build: |
|
@echo "ποΈ Building docker images ..\n" |
|
@docker-compose -f docker-compose.yml build |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
run: |
|
@echo "π Starting docker-compose.yml ..\n" |
|
@docker-compose -f docker-compose.yml up -d |
|
|
|
|
|
|
|
|
|
|
|
stop: |
|
@echo "π Stopping any running containers .. \n" |
|
@docker-compose -f docker-compose.yml down |
|
|
|
|
|
|
|
|
|
restart: |
|
@echo "π Restarting docker services ..\n" |
|
@make stop |
|
@make run |
|
|
|
|
|
|
|
|
|
rasa-restart: |
|
@echo "π€ Restarting Rasa so it grabs credentials ..\n" |
|
@make rasa-stop |
|
@make rasa-start |
|
|
|
rasa-stop: |
|
@echo "π€ Stopping Rasa ..\n" |
|
@docker-compose -f docker-compose.yml stop rasa-core |
|
|
|
rasa-start: |
|
@echo "π€ Starting Rasa ..\n" |
|
@docker-compose -f docker-compose.yml up -d rasa-core |
|
|
|
rasa-build: |
|
@echo "π€ Building Rasa ..\n" |
|
@docker-compose -f docker-compose.yml build rasa-core |
|
|
|
|
|
|
|
|
|
seed: |
|
@echo "π± Seeding database ..\n" |
|
@docker-compose -f docker-compose.yml exec api /app/api/wait-for-it.sh db:5432 --timeout=60 -- python3 seed.py |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ngrok: |
|
@echo "π‘ Opening ngrok agent in the browser ..\n" |
|
@open http://localhost:4040 |
|
|
|
|
|
|
|
|
|
pgadmin: |
|
@echo "π·ββοΈ Opening PG Admin in the browser ..\n" |
|
@open http://localhost:5050 |
|
|
|
|
|
|
|
|
|
logs: |
|
@echo "π Opening container logs in the browser ..\n" |
|
@open http://localhost:9999/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
api: |
|
@make db |
|
@echo "π Starting FastAPI and postgres ..\n" |
|
@docker-compose -f docker-compose.yml up -d api |
|
|
|
|
|
|
|
|
|
db: |
|
@echo "π Starting Postgres with pgvector ..\n" |
|
@docker-compose -f docker-compose.yml up -d db |
|
|
|
|
|
db-stop: |
|
@echo " Stopping the database ..\n" |
|
@docker-compose -f docker-compose.yml down db |
|
|
|
|
|
db-reset: |
|
@echo "β Are you sure you want to reinitialize the database, you will lose all data? [y/N]\n" |
|
@read confirmation; \ |
|
if [ "$$confirmation" = "y" ] || [ "$$confirmation" = "Y" ]; then \ |
|
make db-purge \ |
|
make api \ |
|
make models \ |
|
echo "β
Database re-initialize"; \ |
|
else \ |
|
echo "Aborted."; \ |
|
fi |
|
|
|
@echo " Resetting the database ..\n" |
|
|
|
|
|
|
|
|
|
|
|
models: |
|
@echo "π½ Building models in Postgres ..\n" |
|
@docker-compose -f docker-compose.yml exec api /app/api/wait-for-it.sh db:5432 --timeout=60 -- python3 models.py |
|
|
|
|
|
|
|
|
|
purge: |
|
@echo "π§Ή Purging all containers and images ..\n" |
|
@make stop |
|
@docker system prune -a |
|
@make install |
|
|
|
|
|
|
|
|
|
db-purge: |
|
@echo "β Are you sure you want to delete all data in the database? [y/N]\n" |
|
@read confirmation; \ |
|
if [ "$$confirmation" = "y" ] || [ "$$confirmation" = "Y" ]; then \ |
|
echo "Deleting generated files .."; \ |
|
make stop; \ |
|
rm -rf ./mnt; \ |
|
echo "Deleted."; \ |
|
else \ |
|
echo "Aborted."; \ |
|
fi |
|
|
|
|
|
|
|
|
|
shell-api: |
|
@echo "π»π’ Opening a bash shell in the RasaGPT API container ..\n" |
|
@if docker ps | grep chat_api > /dev/null; then \ |
|
docker exec -it $$(docker ps | grep chat_api | tr -d '\n' | awk '{print $$1}') /bin/bash; \ |
|
else \ |
|
echo "Container chat_api is not running"; \ |
|
fi |
|
|
|
|
|
|
|
|
|
shell-rasa: |
|
@echo "π»π’ Opening a bash shell in the chat_rasa_core container ..\n" |
|
@if docker ps | grep chat_rasa_core > /dev/null; then \ |
|
docker exec -it $$(docker ps | grep chat_rasa_core | tr -d '\n' | awk '{print $$1}') /bin/bash; \ |
|
else \ |
|
echo "Container chat_rasa_core is not running"; \ |
|
fi |
|
|
|
|
|
|
|
|
|
shell-actions: |
|
@echo "π»π’ Opening a bash shell in the chat_rasa_actions container ..\n" |
|
@if docker ps | grep chat_rasa_actions > /dev/null; then \ |
|
docker exec -it $$(docker ps | grep chat_rasa_actions | tr -d '\n' | awk '{print $$1}') /bin/bash; \ |
|
else \ |
|
echo "Container chat_rasa_actions is not running"; \ |
|
fi |
|
|
|
|
|
|
|
|
|
shell-db: |
|
@echo "π»π’ Opening a bash shell in the Postgres container ..\n" |
|
@if docker ps | grep chat_db > /dev/null; then \ |
|
docker exec -it $$(docker ps | grep chat_db | tr -d '\n' | awk '{print $$1}') /bin/bash; \ |
|
else \ |
|
echo "Container chat_db is not running"; \ |
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
env-var: |
|
@echo "π Checking if envvars are set ..\n"; |
|
@if ! test -e "./.env"; then \ |
|
@echo "β .env file not found. Please copy .env-example to .env and update values"; \ |
|
exit 1; \ |
|
else \ |
|
echo "β
found .env\n"; \ |
|
fi |
|
|
|
|
|
|
|
|
|
rasa-train: |
|
@echo "π½ Generating Rasa models ..\n" |
|
@make rasa-start |
|
@docker-compose -f docker-compose.yml exec rasa-core rasa train |
|
@make rasa-stop |
|
@echo "β
Done\n" |
|
|