1+ .PHONY : help setup build up down restart logs logs-web logs-db shell db-shell clean test migrate superuser runserver validate reset
2+
3+ # Default target
4+ help :
5+ @echo " VOKO Development Environment"
6+ @echo " ============================"
7+ @echo " Available commands:"
8+ @echo " setup - Complete setup of development environment (recommended)"
9+ @echo " build - Build Docker images"
10+ @echo " up - Start all services"
11+ @echo " down - Stop all services"
12+ @echo " restart - Restart all services"
13+ @echo " logs - View all logs"
14+ @echo " logs-web - View web application logs"
15+ @echo " logs-db - View database logs"
16+ @echo " shell - Access web container shell"
17+ @echo " db-shell - Access database shell"
18+ @echo " clean - Clean up containers and volumes"
19+ @echo " test - Run tests"
20+ @echo " migrate - Run database migrations"
21+ @echo " superuser - Create Django superuser"
22+ @echo " validate - Validate setup is working correctly"
23+ @echo " reset - Reset database (WARNING: deletes all data)"
24+
25+ # Complete setup - simplified one-command setup
26+ setup :
27+ @echo " Starting VOKO development environment..."
28+ @echo " This will build and start all services with automatic setup."
29+ docker-compose up --build
30+
31+ # Build Docker images
32+ build :
33+ docker-compose build
34+
35+ # Start services
36+ up :
37+ docker-compose up -d
38+
39+ # Stop services
40+ down :
41+ docker-compose down
42+
43+ # Restart services
44+ restart :
45+ docker-compose restart
46+
47+ # View logs
48+ logs :
49+ docker-compose logs -f
50+
51+ # View web logs
52+ logs-web :
53+ docker-compose logs -f web
54+
55+ # View database logs
56+ logs-db :
57+ docker-compose logs -f db
58+
59+ # Access web container shell
60+ shell :
61+ docker exec -it voko_web bash
62+
63+ # Access database shell
64+ db-shell :
65+ docker exec -it voko_db psql -U postgres
66+
67+ # Clean up
68+ clean :
69+ docker-compose down -v
70+ docker system prune -f
71+
72+ # Run tests
73+ test :
74+ docker exec voko_web uv run python manage.py test --settings=vokou.settings.testing
75+
76+ # Run migrations
77+ migrate :
78+ docker exec voko_web uv run python manage.py makemigrations --settings=vokou.settings.development
79+ docker exec voko_web uv run python manage.py migrate --settings=vokou.settings.development
80+
81+ # Create superuser
82+ superuser :
83+ docker exec -it voko_web uv run python manage.py createsuperuser --noinput --settings=vokou.settings.development
84+
85+ # Run crons
86+ crons :
87+ docker exec voko_web uv run python manage.py runcrons --settings=vokou.settings.development
88+
89+ # Start development server (if not using docker-compose)
90+ runserver :
91+ docker exec voko_web uv run python manage.py runserver 0.0.0.0:8000 --settings=vokou.settings.development
92+
93+ # Reset database (WARNING: deletes all data)
94+ reset :
95+ @echo " WARNING: This will delete all data!"
96+ @read -p " Are you sure? [y/N] " -n 1 -r; \
97+ echo ; \
98+ if [[ $$ REPLY =~ ^[Yy]$$ ]]; then \
99+ docker-compose down -v; \
100+ docker-compose up --build; \
101+ else \
102+ echo " Reset cancelled." ; \
103+ fi
104+
105+ # Flush sqlite database (if using sqlite)
106+ flush :
107+ @echo " Flushing SQLite database..."
108+ uv run python webapp/manage.py flush --no-input --settings=vokou.settings.development
109+
110+ flush-docker :
111+ @echo " Flushing SQLite database in Docker..."
112+ docker exec voko_web uv run python manage.py flush --no-input --settings=vokou.settings.development
113+
114+ # start webapp
115+ start-webapp :
116+ @echo " Starting web application..."
117+ uv run python webapp/manage.py runserver --settings=vokou.settings.development
0 commit comments