1+ .PHONY : help setup env docker-dev docker-dev-build docker-dev-logs docker-dev-down docker-prod docker-up docker-down docker-logs docker-restart clean-docker
2+
3+ # Variables
4+ DOCKER_COMPOSE = docker compose
5+ DOCKER_COMPOSE_DEV = docker compose -f docker-compose.dev.yml
6+
7+ # Default target
8+ help :
9+ @echo " GitHubMon - Makefile Commands"
10+ @echo " "
11+ @echo " Environment Setup:"
12+ @echo " make setup - Complete Docker setup (env + build)"
13+ @echo " make env - Create .env.local from .env.example"
14+ @echo " "
15+ @echo " Docker - Development:"
16+ @echo " make docker-dev - Start development container"
17+ @echo " make docker-dev-build - Build and start dev container"
18+ @echo " make docker-dev-logs - Show dev container logs"
19+ @echo " make docker-dev-down - Stop dev container"
20+ @echo " "
21+ @echo " Docker - Production:"
22+ @echo " make docker-prod - Build and start production containers"
23+ @echo " make docker-up - Start production containers (no build)"
24+ @echo " make docker-down - Stop all containers"
25+ @echo " make docker-logs - Show production logs"
26+ @echo " make docker-restart - Restart production containers"
27+ @echo " "
28+ @echo " Cleanup:"
29+ @echo " make clean-docker - Remove all containers and volumes"
30+ @echo " "
31+ @echo " For development commands, use npm directly:"
32+ @echo " npm install - Install dependencies"
33+ @echo " npm run dev - Start development server"
34+ @echo " npm run build - Build for production"
35+ @echo " npm run lint - Run ESLint"
36+ @echo " npm run format - Format code with Prettier"
37+
38+ # Environment Setup
39+ setup : env
40+ @echo " π§ Setting up Docker environment..."
41+ @echo " β
Setup complete! Edit .env.local with your credentials"
42+ @echo " Then run: make docker-dev"
43+
44+ env :
45+ @if [ ! -f .env.local ]; then \
46+ cp .env.example .env.local; \
47+ echo " β
Created .env.local - Please edit it with your credentials" ; \
48+ else \
49+ echo " β οΈ .env.local already exists" ; \
50+ fi
51+
52+ # Docker - Development
53+ docker-dev :
54+ @echo " π³ Starting development container..."
55+ $(DOCKER_COMPOSE_DEV ) up
56+
57+ docker-dev-build :
58+ @echo " π³ Building and starting development container..."
59+ $(DOCKER_COMPOSE_DEV ) up --build
60+
61+ docker-dev-logs :
62+ @echo " π Showing development container logs..."
63+ $(DOCKER_COMPOSE_DEV ) logs -f
64+
65+ docker-dev-down :
66+ @echo " π Stopping development container..."
67+ $(DOCKER_COMPOSE_DEV ) down
68+
69+ # Docker - Production
70+ docker-prod :
71+ @echo " π³ Building and starting production containers..."
72+ $(DOCKER_COMPOSE ) up --build -d
73+ @echo " β
Production containers started. Visit http://localhost:3000"
74+
75+ docker-up :
76+ @echo " π³ Starting production containers..."
77+ $(DOCKER_COMPOSE ) up -d
78+
79+ docker-down :
80+ @echo " π Stopping all containers..."
81+ $(DOCKER_COMPOSE ) down
82+ $(DOCKER_COMPOSE_DEV ) down
83+
84+ docker-logs :
85+ @echo " π Showing production logs..."
86+ $(DOCKER_COMPOSE ) logs -f
87+
88+ docker-restart :
89+ @echo " π Restarting production containers..."
90+ $(DOCKER_COMPOSE ) restart
91+
92+ # Cleanup
93+ clean-docker :
94+ @echo " π§Ή Removing all containers and volumes..."
95+ $(DOCKER_COMPOSE ) down -v
96+ $(DOCKER_COMPOSE_DEV ) down -v
97+ docker system prune -f
98+ @echo " β
Docker cleanup complete"
99+
100+ # Quick aliases
101+ dev : docker-dev
102+ prod : docker-prod
103+ up : docker-up
104+ down : docker-down
105+ logs : docker-logs
106+ restart : docker-restart
0 commit comments