-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstart.bat
More file actions
213 lines (188 loc) · 5.64 KB
/
start.bat
File metadata and controls
213 lines (188 loc) · 5.64 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
209
210
211
212
213
@echo off
setlocal enabledelayedexpansion
chcp 65001 >nul 2>&1
title FyDCBot
echo.
echo ========================================
echo FyDCBot v1.0.0
echo AI-Powered Discord Bot
echo ========================================
echo.
:: ============================================================
:: DOCKER KONTROL
:: ============================================================
where docker >nul 2>&1
if %errorlevel% equ 0 (
echo [+] Docker bulundu.
docker info >nul 2>&1
if !errorlevel! equ 0 (
goto :DOCKER_MENU
) else (
echo [!] Docker kurulu ama calismyor. Docker Desktop acik mi?
echo Docker Desktop'i acip tekrar deneyin.
echo.
goto :NO_DOCKER
)
) else (
goto :NO_DOCKER
)
:DOCKER_MENU
echo [?] Nasil baslatmak istersiniz?
echo 1) Docker ile (onerilir)
echo 2) Dogrudan Node.js ile
set /p "dchoice=Seciminiz [1/2]: "
if "!dchoice!"=="1" (
echo.
echo [*] Docker ile baslatiliyor...
docker compose up -d --build 2>nul || docker-compose up -d --build
echo.
echo [+] FyDCBot baslatildi!
echo Web Panel: http://localhost:3000
echo Loglar: docker compose logs -f
echo.
pause
exit /b 0
)
goto :NODE_START
:: ============================================================
:: DOCKER KURULUM (Windows)
:: ============================================================
:NO_DOCKER
echo [!] Docker bulunamadi.
echo.
echo [?] Ne yapmak istersiniz?
echo 1) Docker Desktop kur ve Docker ile baslat (onerilir)
echo 2) Docker Desktop kur ama Node.js ile baslat
echo 3) Docker kurma, Node.js ile devam et
set /p "nchoice=Seciminiz [1/2/3]: "
if "!nchoice!"=="3" goto :NODE_START
echo.
echo [*] Docker Desktop kurulumu baslatiliyor...
echo.
:: winget ile Docker Desktop kur
where winget >nul 2>&1
if %errorlevel% equ 0 (
echo [*] winget ile Docker Desktop kuruluyor...
winget install -e --id Docker.DockerDesktop --accept-source-agreements --accept-package-agreements
if !errorlevel! equ 0 (
echo.
echo [+] Docker Desktop kuruldu!
echo [!] ONEMLI: Docker Desktop'i acmaniz gerekiyor.
echo Actiktan sonra bu scripti tekrar calistirin.
echo.
if "!nchoice!"=="1" (
echo [*] Docker Desktop baslatiliyor...
start "" "C:\Program Files\Docker\Docker\Docker Desktop.exe" 2>nul
echo [!] Docker Desktop acildiktan sonra (yesl ikon) bu scripti tekrar calistirin.
pause
exit /b 0
)
goto :NODE_START
)
)
:: winget yoksa chocolatey dene
where choco >nul 2>&1
if %errorlevel% equ 0 (
echo [*] Chocolatey ile Docker Desktop kuruluyor...
choco install docker-desktop -y
if !errorlevel! equ 0 (
echo [+] Docker Desktop kuruldu!
echo [!] Docker Desktop'i acip tekrar calistirin.
pause
exit /b 0
)
)
:: Hicbiri yoksa indirme linki ver
echo [!] Otomatik kurulum yapilamadi.
echo Docker Desktop'i buradan indirin:
echo https://desktop.docker.com/win/main/amd64/Docker%%20Desktop%%20Installer.exe
echo.
echo Kurulumdan sonra bu scripti tekrar calistirin.
echo.
if "!nchoice!"=="1" (
echo [*] Indirme sayfasi aciliyor...
start https://www.docker.com/products/docker-desktop/
pause
exit /b 0
)
:: ============================================================
:: NODE.JS ILE CALISTIRMA
:: ============================================================
:NODE_START
echo.
:: Node.js kontrol
where node >nul 2>&1
if %errorlevel% neq 0 (
echo [!] Node.js bulunamadi.
echo.
echo [*] Node.js kurulumu baslatiliyor...
where winget >nul 2>&1
if !errorlevel! equ 0 (
echo [*] winget ile Node.js kuruluyor...
winget install -e --id OpenJS.NodeJS.LTS --accept-source-agreements --accept-package-agreements
if !errorlevel! equ 0 (
echo [+] Node.js kuruldu!
echo [!] Terminali kapatip tekrar acin, sonra bu scripti tekrar calistirin.
pause
exit /b 0
)
)
where choco >nul 2>&1
if !errorlevel! equ 0 (
echo [*] Chocolatey ile Node.js kuruluyor...
choco install nodejs-lts -y
if !errorlevel! equ 0 (
echo [+] Node.js kuruldu! Terminali yeniden acip tekrar calistirin.
pause
exit /b 0
)
)
echo [!] Otomatik kurulum yapilamadi.
echo Node.js'i buradan indirin: https://nodejs.org
start https://nodejs.org
pause
exit /b 1
)
for /f "tokens=*" %%i in ('node -v') do echo [+] Node.js: %%i
:: PostgreSQL - Docker ile baslat
echo.
echo [*] PostgreSQL kontrol ediliyor...
where docker >nul 2>&1
if %errorlevel% equ 0 (
docker info >nul 2>&1
if !errorlevel! equ 0 (
echo [*] PostgreSQL Docker ile baslatiliyor...
docker compose up -d db 2>nul || docker-compose up -d db 2>nul
echo [+] PostgreSQL baslatildi
timeout /t 5 /nobreak >nul
) else (
echo [!] Docker calismyor. PostgreSQL icin Docker Desktop'i acin.
echo Veya PostgreSQL'i manuel kurun: https://postgresql.org
)
) else (
echo [!] Docker yok. PostgreSQL manuel kurulu olmali.
echo DATABASE_URL .env dosyasinda dogru ayarlanmis olmali.
)
:: .env kontrol
if not exist .env (
echo.
echo [*] .env dosyasi olusturuluyor...
copy .env.example .env >nul
echo [+] .env olusturuldu
)
:: Bagimliliklar
if not exist node_modules (
echo.
echo [*] npm bagimliliklari yukleniyor...
call npm install
)
echo.
echo [*] FyDCBot baslatiliyor...
echo Web Panel: http://localhost:3000
echo.
node src/index.js
if %errorlevel% neq 0 (
echo.
echo [!] FyDCBot durdu. Hata kodu: %errorlevel%
pause
)