-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-cli.bat
More file actions
208 lines (190 loc) · 4.1 KB
/
docker-cli.bat
File metadata and controls
208 lines (190 loc) · 4.1 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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
@echo off
REM Docker CLI for TnP Platform (Windows)
setlocal enabledelayedexpansion
:menu
cls
echo.
echo ════════════════════════════════════════
echo TnP Docker ^& CI/CD Manager (Windows)
echo ════════════════════════════════════════
echo.
echo Development:
echo 1. Start all services (development)
echo 2. Stop all services
echo 3. View logs
echo 4. Rebuild containers
echo.
echo Database:
echo 5. Access PostgreSQL CLI
echo 6. Reset database
echo 7. Backup database
echo.
echo Testing ^& Deployment:
echo 8. Build Docker images
echo 9. Deploy with Docker Compose (production)
echo.
echo Utilities:
echo 10. View running containers
echo 11. View container stats
echo 12. Clean up Docker
echo.
echo 0. Exit
echo.
set /p choice="Enter your choice [0-12]: "
if "%choice%"=="1" goto start_services
if "%choice%"=="2" goto stop_services
if "%choice%"=="3" goto view_logs
if "%choice%"=="4" goto rebuild_containers
if "%choice%"=="5" goto access_postgres
if "%choice%"=="6" goto reset_database
if "%choice%"=="7" goto backup_database
if "%choice%"=="8" goto build_images
if "%choice%"=="9" goto deploy_production
if "%choice%"=="10" goto view_containers
if "%choice%"=="11" goto view_stats
if "%choice%"=="12" goto cleanup_docker
if "%choice%"=="0" goto exit
goto menu
:start_services
cls
echo.
echo Starting All Services (Development)...
echo.
if not exist ".env" (
echo Creating .env from .env.docker...
copy .env.docker .env
)
docker-compose up -d
timeout /t 5
docker-compose ps
pause
goto menu
:stop_services
cls
echo.
echo Stopping All Services...
echo.
docker-compose down
pause
goto menu
:view_logs
cls
echo.
echo Select service:
echo 1. All services
echo 2. Backend
echo 3. Frontend
echo 4. PostgreSQL
echo 5. Redis
echo.
set /p log_choice="Enter choice [1-5]: "
if "%log_choice%"=="1" docker-compose logs -f
if "%log_choice%"=="2" docker-compose logs -f backend
if "%log_choice%"=="3" docker-compose logs -f frontend
if "%log_choice%"=="4" docker-compose logs -f postgres
if "%log_choice%"=="5" docker-compose logs -f redis
pause
goto menu
:rebuild_containers
cls
echo.
echo Rebuilding Containers...
echo.
docker-compose build --no-cache
pause
goto menu
:access_postgres
cls
echo.
echo Accessing PostgreSQL...
echo.
docker-compose exec postgres psql -U neondb_owner -d neondb
pause
goto menu
:reset_database
cls
echo.
echo WARNING: This will delete all data!
set /p confirm="Are you sure? (yes/no): "
if /i "%confirm%"=="yes" (
docker-compose down -v
echo Database reset!
) else (
echo Database reset cancelled
)
pause
goto menu
:backup_database
cls
echo.
echo Backing up Database...
echo.
for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b)
for /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b)
set backup_file=backup-%mydate%-%mytime%.sql
docker-compose exec -T postgres pg_dump -U neondb_owner neondb > %backup_file%
if exist %backup_file% (
echo Backup created: %backup_file%
dir %backup_file%
) else (
echo Backup failed
)
pause
goto menu
:build_images
cls
echo.
echo Building Docker Images...
echo.
docker-compose build
pause
goto menu
:deploy_production
cls
echo.
echo Deploy with Docker Compose (Production)
echo.
if not exist ".env.production" (
echo ERROR: .env.production not found!
echo Please create .env.production file with production settings
pause
goto menu
)
echo Using docker-compose.prod.yml...
docker-compose -f docker-compose.prod.yml up -d
echo Production deployment started!
pause
goto menu
:view_containers
cls
echo.
echo Running Containers:
echo.
docker-compose ps
pause
goto menu
:view_stats
cls
echo.
echo Container Stats:
echo.
docker stats
pause
goto menu
:cleanup_docker
cls
echo.
echo WARNING: This will remove unused Docker objects!
set /p confirm="Are you sure? (yes/no): "
if /i "%confirm%"=="yes" (
docker system prune -af
echo Docker cleanup completed!
) else (
echo Cleanup cancelled
)
pause
goto menu
:exit
echo.
echo Exiting...
exit /b 0