Repository navigation
Expand file tree
/
Copy pathstartup.bat
More file actions
99 lines (88 loc) · 2.81 KB
/
Copy pathstartup.bat
File metadata and controls
99 lines (88 loc) · 2.81 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
@echo off
setlocal EnableDelayedExpansion
REM ============================================================
REM Startup script untuk docker-php-stack (Windows)
REM Jalankan dari folder project ini
REM ============================================================
set COMPOSE_FILE=docker-compose-apache.yml
set MAX_WAIT=60
set WAIT_INTERVAL=5
set ELAPSED=0
echo.
echo ============================================================
echo Docker PHP Stack - Startup Script
echo ============================================================
echo.
REM --- Cek apakah file docker-compose tersedia ---
if not exist "%COMPOSE_FILE%" (
echo [ERROR] File "%COMPOSE_FILE%" tidak ditemukan!
echo Pastikan script dijalankan dari folder project yang benar.
echo.
pause
exit /b 1
)
REM --- Tunggu Docker Engine aktif ---
echo [INFO] Mengecek status Docker Engine...
:waitdocker
docker info >nul 2>&1
if errorlevel 1 (
if !ELAPSED! geq %MAX_WAIT% (
echo.
echo [ERROR] Docker Engine tidak aktif setelah %MAX_WAIT% detik.
echo Pastikan Docker Desktop sudah berjalan, lalu coba lagi.
echo.
pause
exit /b 1
)
echo [WAIT] Docker Engine belum aktif. Mencoba lagi dalam %WAIT_INTERVAL% detik...
echo ^(Silakan nyalakan Docker Desktop jika belum^)
timeout /t %WAIT_INTERVAL% >nul
set /a ELAPSED+=WAIT_INTERVAL
goto waitdocker
)
echo [OK] Docker Engine aktif!
echo.
REM --- Stop dan hapus container lama ---
echo [INFO] Menghentikan container lama...
docker compose -f %COMPOSE_FILE% down
if errorlevel 1 (
echo [WARN] Gagal menghentikan container lama. Melanjutkan...
)
echo.
REM --- Build ulang image jika ada perubahan (opsional) ---
REM Hapus tanda REM di bawah ini jika ingin selalu build ulang
REM echo [INFO] Building image...
REM docker compose -f %COMPOSE_FILE% build
REM if errorlevel 1 (
REM echo [ERROR] Build gagal! Periksa Dockerfile Anda.
REM pause
REM exit /b 1
REM )
REM --- Jalankan semua service ---
echo [INFO] Menjalankan semua service...
docker compose -f %COMPOSE_FILE% up -d
if errorlevel 1 (
echo.
echo [ERROR] Gagal menjalankan service!
echo Periksa log dengan perintah:
echo docker compose -f %COMPOSE_FILE% logs
echo.
pause
exit /b 1
)
echo.
REM --- Tampilkan status container ---
echo [INFO] Status container:
echo ============================================================
docker compose -f %COMPOSE_FILE% ps
echo ============================================================
echo.
echo [OK] Semua service berhasil dijalankan.
echo.
echo Tips perintah berguna:
echo - Lihat log : docker compose -f %COMPOSE_FILE% logs -f
echo - Stop semua : docker compose -f %COMPOSE_FILE% down
echo - Restart : docker compose -f %COMPOSE_FILE% restart
echo.
pause
endlocal