初始化
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
cd /d "%~dp0"
|
||||
|
||||
where docker >nul 2>nul
|
||||
if errorlevel 1 (
|
||||
echo [ERROR] Docker was not found. Install Docker Desktop first.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
docker info >nul 2>nul
|
||||
if errorlevel 1 (
|
||||
echo [NOTICE] Docker is not running. Start Docker Desktop manually, then run this script again.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
docker compose version >nul 2>nul
|
||||
if errorlevel 1 (
|
||||
echo [ERROR] The docker compose command is unavailable. Check your Docker Desktop installation.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
where go >nul 2>nul
|
||||
if errorlevel 1 (
|
||||
echo [ERROR] Go was not found. Install Go and add it to PATH first.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
if not exist "API\.env" (
|
||||
echo [ERROR] API\.env is missing. The API cannot start.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo [1/3] Releasing port 8123...
|
||||
for /f "tokens=5" %%P in ('netstat -ano ^| findstr /R /C:":8123 .*LISTENING"') do (
|
||||
taskkill /F /PID %%P >nul 2>nul
|
||||
)
|
||||
|
||||
echo [2/3] Checking and starting PostgreSQL and Redis containers...
|
||||
docker compose -f "docker-compose.yml" up -d --wait --wait-timeout 60
|
||||
if errorlevel 1 (
|
||||
echo [ERROR] PostgreSQL or Redis failed to start. Check the Docker output above.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo [3/3] Starting the API. Press Ctrl+C to stop it.
|
||||
pushd "API"
|
||||
go run ./cmd/api
|
||||
set "API_EXIT_CODE=%ERRORLEVEL%"
|
||||
popd
|
||||
|
||||
if not "%API_EXIT_CODE%"=="0" (
|
||||
echo [ERROR] The API exited with code %API_EXIT_CODE%.
|
||||
pause
|
||||
)
|
||||
|
||||
exit /b %API_EXIT_CODE%
|
||||
Reference in New Issue
Block a user