-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
124 lines (103 loc) · 3.54 KB
/
Makefile
File metadata and controls
124 lines (103 loc) · 3.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
.PHONY: help build up down logs restart clean test dev prod ps shell-backend shell-db
help:
@echo "Insurance Fraud Detection System - Makefile Commands"
@echo ""
@echo "Development Commands:"
@echo " make dev - Start development environment"
@echo " make up - Start all services"
@echo " make down - Stop all services"
@echo " make logs - View logs from all services"
@echo " make restart - Restart all services"
@echo " make ps - List running containers"
@echo ""
@echo "Database Commands:"
@echo " make shell-db - Connect to PostgreSQL shell"
@echo " make backup - Create database backup"
@echo " make restore - Restore from backup (requires BACKUP_FILE)"
@echo ""
@echo "Backend Commands:"
@echo " make shell-backend - Shell into backend container"
@echo " make backend-logs - View backend logs"
@echo " make migrations - Run database migrations"
@echo ""
@echo "Docker Commands:"
@echo " make build - Build Docker images"
@echo " make build-no-cache - Build without cache"
@echo " make clean - Remove containers, networks, volumes"
@echo ""
@echo "Testing Commands:"
@echo " make test - Run tests"
@echo " make test-backend - Run backend tests only"
@echo ""
@echo "Production Commands:"
@echo " make prod - Start production environment"
@echo " make prod-down - Stop production environment"
@echo ""
@echo "Examples:"
@echo " make dev # Start development"
@echo " make prod # Start production"
@echo " make shell-db # Enter database"
@echo " make backup # Backup database"
# Development
dev:
docker-compose up -d
@echo "✓ Development environment started"
@echo " Frontend: http://localhost:5173"
@echo " Backend: http://localhost:8000"
@echo " API Docs: http://localhost:8000/docs"
up:
docker-compose up -d
@echo "✓ All services started"
down:
docker-compose down
@echo "✓ All services stopped"
logs:
docker-compose logs -f
restart:
docker-compose restart
@echo "✓ All services restarted"
ps:
docker-compose ps
clean:
docker-compose down -v
@echo "✓ Containers, networks, and volumes removed"
# Backend
shell-backend:
docker-compose exec backend bash
backend-logs:
docker-compose logs -f backend
migrations:
docker-compose exec backend alembic upgrade head
@echo "✓ Migrations completed"
# Database
shell-db:
docker-compose exec postgres psql -U fraud_user -d insurance_fraud
backup:
docker-compose exec postgres pg_dump -U fraud_user insurance_fraud > backups/backup_$(shell date +%Y%m%d_%H%M%S).sql
@echo "✓ Database backed up"
restore:
@if [ -z "$(BACKUP_FILE)" ]; then echo "Usage: make restore BACKUP_FILE=backups/backup_XXXXX.sql"; exit 1; fi
docker-compose exec -T postgres psql -U fraud_user insurance_fraud < $(BACKUP_FILE)
@echo "✓ Database restored from $(BACKUP_FILE)"
# Docker
build:
docker-compose build
@echo "✓ Images built"
build-no-cache:
docker-compose build --no-cache
@echo "✓ Images built without cache"
# Testing
test:
@echo "Note: Configure test database in pytest.ini"
docker-compose exec backend pytest
test-backend:
docker-compose exec backend pytest app/tests
# Production
prod:
docker-compose -f docker-compose.prod.yml up -d
@echo "✓ Production environment started"
prod-down:
docker-compose -f docker-compose.prod.yml down
@echo "✓ Production environment stopped"
prod-logs:
docker-compose -f docker-compose.prod.yml logs -f