-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstart-docker.sh
More file actions
83 lines (74 loc) · 2.75 KB
/
start-docker.sh
File metadata and controls
83 lines (74 loc) · 2.75 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
#!/bin/bash
# ============================================================
# Startup script untuk docker-php-stack (WSL/Linux)
# Jalankan dari folder project ini: bash start-docker.sh
# ============================================================
COMPOSE_FILE="docker-compose-apache.yml"
MAX_WAIT=60
WAIT_INTERVAL=5
ELAPSED=0
echo ""
echo "============================================================"
echo " Docker PHP Stack - Startup Script (WSL)"
echo "============================================================"
echo ""
# --- Cek file docker-compose tersedia ---
if [ ! -f "$COMPOSE_FILE" ]; then
echo "[ERROR] File '$COMPOSE_FILE' tidak ditemukan!"
echo " Pastikan script dijalankan dari folder project yang benar."
echo ""
exit 1
fi
# --- Tunggu Docker daemon aktif ---
echo "[INFO] Mengecek status Docker daemon..."
while ! docker info > /dev/null 2>&1; do
if [ "$ELAPSED" -ge "$MAX_WAIT" ]; then
echo ""
echo "[ERROR] Docker daemon tidak aktif setelah ${MAX_WAIT} detik."
echo " Coba jalankan: sudo service docker start"
echo " Atau jika pakai Docker Desktop WSL integration, pastikan Docker Desktop menyala."
echo ""
exit 1
fi
echo "[WAIT] Docker belum aktif. Mencoba lagi dalam ${WAIT_INTERVAL} detik... (${ELAPSED}s/${MAX_WAIT}s)"
sleep "$WAIT_INTERVAL"
ELAPSED=$((ELAPSED + WAIT_INTERVAL))
done
echo "[OK] Docker daemon aktif!"
echo ""
# --- Stop dan hapus container lama ---
echo "[INFO] Menghentikan container lama..."
docker compose -f "$COMPOSE_FILE" down || echo "[WARN] Tidak ada container lama, melanjutkan..."
echo ""
# --- Jalankan semua service ---
echo "[INFO] Menjalankan semua service..."
if ! docker compose -f "$COMPOSE_FILE" up -d; then
echo ""
echo "[ERROR] Gagal menjalankan service!"
echo " Periksa log dengan perintah:"
echo " docker compose -f $COMPOSE_FILE logs"
echo ""
exit 1
fi
echo ""
# --- Tampilkan status container ---
echo "[INFO] Status container:"
echo "============================================================"
docker compose -f "$COMPOSE_FILE" ps
echo "============================================================"
echo ""
# --- Set permission folder simrs ---
if [ -f "./set-permission-simrs.sh" ]; then
echo "[INFO] Menjalankan set-permission-simrs.sh ..."
bash ./set-permission-simrs.sh
else
echo "[WARN] File set-permission-simrs.sh tidak ditemukan, permission tidak di-set."
fi
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 ""