-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmp.bat
More file actions
93 lines (75 loc) · 2.59 KB
/
mp.bat
File metadata and controls
93 lines (75 loc) · 2.59 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
@echo off
setlocal enabledelayedexpansion
REM MockPro Development Script for Windows
REM Usage: mp_windows.bat [dev|logs|stop]
if "%1"=="dev" goto :dev
if "%1"=="logs" goto :logs
if "%1"=="stop" goto :stop
if "%1"=="wb" goto :wb
if "%1"=="wf" goto :wf
if "%1"=="redis_start" goto :redis_start
if "%1"=="redis" goto :redis
if "%1"=="redis_stop" goto :redis_stop
if "%1"=="watch_all" goto :watch_all
echo Usage: mp.bat [dev^|logs^|stop^|wb^|wf^|watch_all^|redis_start^|redis^|redis_stop]
echo.
echo Commands:
echo dev - Start MockPro development environment
echo logs - Show Docker logs
echo stop - Stop MockPro containers
echo wb - Watch backend for changes
echo wf - Watch frontend for changes
echo watch_all - Watch both backend and frontend for changes
echo redis_start - Start Redis container
echo redis - Connect to Redis CLI
echo redis_stop - Stop Redis container
goto :eof
:dev
echo Starting MockPro development environment...
REM Create the app-wide-network if it doesn't exist
docker network create app-wide-network 2>nul
REM Stop existing containers
docker compose --project-name "mockpro" -f docker-compose.yml -f ./docker-compose.judge0.net.yml down
REM Build containers
docker compose --project-name "mockpro" build --parallel backend frontend
REM Start containers
docker compose --project-name "mockpro" -f docker-compose.yml up -d
echo Starting separate watch processes for backend and frontend...
echo Note: Please run backend and frontend watch commands manually in separate terminals:
echo For backend: ./mp.bat wb OR docker compose --project-name "mockpro" watch backend
echo For frontend: ./mp.bat wf OR docker compose --project-name "mockpro" watch frontend
echo MockPro development environment started!
echo Backend: http://backend.localhost
echo Frontend: http://frontend.localhost
goto :eof
:wb
docker compose --project-name "mockpro" watch backend
goto :eof
:wf
docker compose --project-name "mockpro" watch frontend
goto :eof
:redis_start
docker run -d --name redis -p 6379:6379 redis:7.4.0
goto :eof
:redis
docker exec -it redis redis-cli
goto :eof
:redis_stop
echo Stopping Redis container...
docker stop redis 2>nul
docker rm redis 2>nul
echo Redis container stopped and removed.
goto :eof
:watch_all
echo Starting watch mode for both backend and frontend...
docker compose --project-name "mockpro" watch
goto :eof
:logs
echo Showing MockPro logs...
docker compose --project-name "mockpro" logs -f
goto :eof
:stop
echo Stopping MockPro containers...
docker compose --project-name "mockpro" down
echo MockPro containers stopped.
goto :eof