| .PHONY: default banner install install-seed seed run stop db-purge api-install env-create env db db-stop api api-stop |
| SHELL := /bin/bash |
| default: help |
|
|
| help: |
| make banner |
| @echo "+------------------+" |
| @echo "| π CORE COMMANDS |" |
| @echo "+------------------+" |
| @echo "make install - Setup environment and build models" |
| @echo "make install-seed - Setup environment, build models and seed database" |
| @echo "make seed - Seed database with dummy data" |
| @echo "make run - Run database and API server" |
| @echo "make stop - Stop database and API server" |
| @echo "make db-purge - Delete all data in database\n" |
|
|
| banner: |
| @echo "\n\n-------------------------------------" |
| @echo "βββββ ββββ βββ ββββ βββββ βββββ βββββ" |
| @echo "βββββ ββββ βββ ββββ βββββ βββββ βββββ" |
| @echo "βββββ ββββ βββ ββββ βββββ βββββ βββββ" |
| @echo "+-----------------------------------+" |
| @echo "| π€ FastAPI LLM server |" |
| @echo "+-----------------------------------+\n\n" |
|
|
| |
| |
| |
|
|
| |
| |
| |
| install: |
| @make banner |
| @make api-install |
| @make db-stop |
| @echo "β
Installation complete. Run 'make run' to start services.\n" |
|
|
| |
| |
| |
| install-seed: |
| @make banner |
| @make api-install |
| @make seed |
| @make db-stop |
| @echo "β
Installation complete. Run 'make run' to start services.\n" |
|
|
|
|
| seed: |
| @make banner |
| @echo "π± Seeding database ..\n" |
| @python3 seed.py |
|
|
| |
| |
| |
| run: |
| @make banner |
| @make env |
| @echo "π Starting services ..\n" |
| @make db |
| @make api |
|
|
| |
| |
| |
| stop: |
| @make banner |
| @echo "π Stopping services ..\n" |
| @make db-stop |
| @make api-stop |
|
|
| |
| |
| |
| 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 db-stop; \ |
| rm -rf ../../mnt; \ |
| echo "Deleted."; \ |
| else \ |
| echo "Aborted."; \ |
| fi |
|
|
| |
| |
| |
|
|
| |
| |
| |
| api-install: |
| @echo "ποΈ Installing services ..\n" |
| @make env-create |
| @make db-stop |
| @make db |
| @make models |
|
|
| |
| |
| |
| env-create: |
| @echo "Creating virtual environment .." |
| @if [ -d "./venv" ]; then \ |
| echo "Environment and dependecies created already, loading .."; \ |
| source ./venv/bin/activate; \ |
| else \ |
| echo "Install dependencies .."; \ |
| python3 -m venv venv; \ |
| . venv/bin/activate; \ |
| pip3 install -r requirements.txt; \ |
| fi |
|
|
| |
| |
| |
| env: |
| @echo "loading virtual environment if exists" |
| @if [ -d "./venv" ]; then \ |
| source ./venv/bin/activate; \ |
| fi |
|
|
| |
| |
| |
| db: |
| @echo "Starting Postgres with pgvector .." |
| @cd ../../ && docker-compose -f docker-compose.yml up -d db |
|
|
| |
| |
| |
| db-stop: |
| @cd ../../ && docker-compose -f docker-compose.yml up -d db |
|
|
| |
| |
| |
| models: |
| @echo "π½ Building models in database .." |
| @sleep 60 && python3 models.py |
|
|
| |
| |
| |
| api: |
| @echo "β‘ Starting FastAPI API server .." |
| @sleep 5 && uvicorn main:app --port 8888 --reload |
|
|
| |
| |
| |
| api-stop: |
| @echo "π Stopping FastAPI server .." |
| @killall uvicorn |
|
|