From b2dc2dacd7ec825aed3d6642880930a691dbf704 Mon Sep 17 00:00:00 2001 From: GifariKemal Date: Sun, 8 Feb 2026 14:21:11 +0700 Subject: [PATCH] =?UTF-8?q?refactor:=20reorganize=20project=20structure=20?= =?UTF-8?q?=E2=80=94=20consolidate=20Docker=20files,=20clean=20root?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Delete temp files: _tmp_analysis.py, nul, dashboard_screenshot.png - Move ea/ to archive/ea/ (deprecated) - Move 12 Docker helper scripts (.bat/.sh) to docker/scripts/ - Move 5 Docker docs to docker/docs/ - Move .env.docker.example, requirements-docker.txt to docker/ - Update all scripts with cd to project root for correct path resolution - Update all doc references to new paths - Update .gitignore with bot.pid, bot_output.log, *.png patterns - Update CLAUDE.md, README.md directory trees Root reduced from ~40 files to 12 essential files. Co-Authored-By: Claude Opus 4.6 --- .gitignore | 7 +- CLAUDE.md | 9 +++ README.md | 13 ++-- .../.env.docker.example | 0 .../docs/DOCKER-INTEGRATION.md | 20 +++--- .../docs/DOCKER-SETUP-SUMMARY.md | 70 +++++++++++-------- DOCKER.md => docker/docs/DOCKER.md | 2 +- QUICK-START.md => docker/docs/QUICK-START.md | 4 +- .../docs/SIMPLE-START.md | 18 ++--- .../requirements-docker.txt | 0 .../scripts/docker-add-dashboard.bat | 3 +- .../scripts/docker-logs.bat | 1 + .../scripts/docker-logs.sh | 1 + .../scripts/docker-remove-dashboard.bat | 3 +- .../scripts/docker-start.bat | 5 +- .../scripts/docker-start.sh | 5 +- .../scripts/docker-status.bat | 1 + .../scripts/docker-stop.bat | 3 +- .../scripts/docker-stop.sh | 3 +- start-all.bat => docker/scripts/start-all.bat | 6 +- start-api.bat => docker/scripts/start-api.bat | 2 +- .../scripts/start-dashboard.bat | 2 +- 22 files changed, 110 insertions(+), 68 deletions(-) rename .env.docker.example => docker/.env.docker.example (100%) rename DOCKER-INTEGRATION.md => docker/docs/DOCKER-INTEGRATION.md (91%) rename DOCKER-SETUP-SUMMARY.md => docker/docs/DOCKER-SETUP-SUMMARY.md (84%) rename DOCKER.md => docker/docs/DOCKER.md (99%) rename QUICK-START.md => docker/docs/QUICK-START.md (97%) rename SIMPLE-START.md => docker/docs/SIMPLE-START.md (88%) rename requirements-docker.txt => docker/requirements-docker.txt (100%) rename docker-add-dashboard.bat => docker/scripts/docker-add-dashboard.bat (96%) rename docker-logs.bat => docker/scripts/docker-logs.bat (96%) rename docker-logs.sh => docker/scripts/docker-logs.sh (94%) rename docker-remove-dashboard.bat => docker/scripts/docker-remove-dashboard.bat (89%) rename docker-start.bat => docker/scripts/docker-start.bat (94%) rename docker-start.sh => docker/scripts/docker-start.sh (94%) rename docker-status.bat => docker/scripts/docker-status.bat (98%) rename docker-stop.bat => docker/scripts/docker-stop.bat (91%) rename docker-stop.sh => docker/scripts/docker-stop.sh (90%) rename start-all.bat => docker/scripts/start-all.bat (88%) rename start-api.bat => docker/scripts/start-api.bat (97%) rename start-dashboard.bat => docker/scripts/start-dashboard.bat (94%) diff --git a/.gitignore b/.gitignore index 69521c1..caa6f4a 100644 --- a/.gitignore +++ b/.gitignore @@ -82,5 +82,10 @@ docker/data/ # Archive archive/ -# Junk +# Runtime files +bot.pid +bot_output.log nul + +# Screenshots +*.png diff --git a/CLAUDE.md b/CLAUDE.md index 8093c2d..90866ae 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -10,6 +10,9 @@ XAUBot AI is an automated XAUUSD (Gold) trading bot that combines Machine Learni . ├── main_live.py # Main async trading orchestrator ├── train_models.py # Model training script +├── Dockerfile # Docker image (must be at root) +├── docker-compose.yml # Docker orchestration (must be at root) +├── .dockerignore # Docker build exclusions (must be at root) ├── src/ # Core modules │ ├── config.py # Trading configuration & capital modes │ ├── mt5_connector.py # MetaTrader 5 connection layer @@ -49,6 +52,12 @@ XAUBot AI is an automated XAUUSD (Gold) trading bot that combines Machine Learni │ └── research/ # Research & analysis files ├── web-dashboard/ # Next.js monitoring dashboard ├── docker/ # Docker configuration +│ ├── .env.docker.example # Docker environment template +│ ├── requirements-docker.txt # Docker-specific Python deps +│ ├── init-db/ # Database init scripts +│ ├── scripts/ # Docker helper scripts (.bat/.sh) +│ └── docs/ # Docker documentation +├── archive/ # Deprecated files (gitignored) └── logs/ # Runtime logs ``` diff --git a/README.md b/README.md index 970cdff..e335fb8 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,10 @@ xaubot-ai/ │ ├── arsitektur-ai/ # Architecture docs (23 components) │ └── research/ # Research & analysis ├── web-dashboard/ # Next.js monitoring dashboard -└── docker/ # Docker configuration +├── docker/ # Docker configuration & scripts +│ ├── scripts/ # Helper scripts (.bat/.sh) +│ └── docs/ # Docker documentation +└── archive/ # Deprecated files (gitignored) ``` ## Backtest Results (Jan 2025 - Feb 2026) @@ -129,14 +132,14 @@ git clone https://github.com/GifariKemal/xaubot-ai.git cd xaubot-ai # 2. Configure environment -cp .env.docker.example .env +cp docker/.env.docker.example .env # Edit .env with your MT5 credentials # 3. Start all services (Windows) -docker-start.bat +docker\scripts\docker-start.bat # 3. Start all services (Linux/Mac) -./docker-start.sh +./docker/scripts/docker-start.sh ``` **Services will be available at:** @@ -145,7 +148,7 @@ docker-start.bat - 📚 API Docs: http://localhost:8000/docs - 🗄️ Database: localhost:5432 -**Full Docker documentation:** See [DOCKER.md](DOCKER.md) +**Full Docker documentation:** See [docker/docs/DOCKER.md](docker/docs/DOCKER.md) --- diff --git a/.env.docker.example b/docker/.env.docker.example similarity index 100% rename from .env.docker.example rename to docker/.env.docker.example diff --git a/DOCKER-INTEGRATION.md b/docker/docs/DOCKER-INTEGRATION.md similarity index 91% rename from DOCKER-INTEGRATION.md rename to docker/docs/DOCKER-INTEGRATION.md index 3d3e609..719ffdf 100644 --- a/DOCKER-INTEGRATION.md +++ b/docker/docs/DOCKER-INTEGRATION.md @@ -25,7 +25,7 @@ Layanan baru yang ditambahkan: ```cmd # Tambahkan dashboard ke setup yang sudah ada -docker-add-dashboard.bat +docker\scripts\docker-add-dashboard.bat ``` Script ini akan: @@ -57,7 +57,7 @@ Setelah services running: ### Check Status ```cmd # Lihat status semua services -docker-status.bat +docker\scripts\docker-status.bat # Atau manual docker-compose ps @@ -90,7 +90,7 @@ docker-compose restart ### Remove Dashboard (Keep Database) ```cmd # Hapus dashboard tapi tetap keep database -docker-remove-dashboard.bat +docker\scripts\docker-remove-dashboard.bat # Atau manual docker-compose stop trading-api dashboard @@ -230,12 +230,16 @@ xaubot-ai/ ├── Dockerfile # API image (NEW) ├── .env # Environment config ├── .dockerignore # Build exclusions -├── docker-add-dashboard.bat # Add dashboard script (NEW) -├── docker-remove-dashboard.bat # Remove dashboard script (NEW) -├── docker-status.bat # Status check script (NEW) ├── docker/ -│ └── init-db/ -│ └── 01-schema.sql # Database schema (EXISTING) +│ ├── .env.docker.example # Environment template +│ ├── requirements-docker.txt # Docker-specific deps +│ ├── init-db/ +│ │ └── 01-schema.sql # Database schema (EXISTING) +│ ├── scripts/ # Helper scripts +│ │ ├── docker-add-dashboard.bat +│ │ ├── docker-remove-dashboard.bat +│ │ └── docker-status.bat +│ └── docs/ # Docker documentation └── web-dashboard/ ├── Dockerfile # Dashboard image (NEW) └── .dockerignore # Build exclusions diff --git a/DOCKER-SETUP-SUMMARY.md b/docker/docs/DOCKER-SETUP-SUMMARY.md similarity index 84% rename from DOCKER-SETUP-SUMMARY.md rename to docker/docs/DOCKER-SETUP-SUMMARY.md index 9c446e1..37ef6ad 100644 --- a/DOCKER-SETUP-SUMMARY.md +++ b/docker/docs/DOCKER-SETUP-SUMMARY.md @@ -32,7 +32,7 @@ - Clear documentation for each setting - Default values for non-sensitive configs -**Location:** `.env.docker.example` +**Location:** `docker/.env.docker.example` ### 5. **Created Docker Ignore Files** - Excludes unnecessary files from images @@ -46,14 +46,14 @@ ### 6. **Created Helper Scripts** #### Windows Batch Scripts: -- `docker-start.bat` - Start all services -- `docker-stop.bat` - Stop services with options -- `docker-logs.bat` - View service logs +- `docker\scripts\docker-start.bat` - Start all services +- `docker\scripts\docker-stop.bat` - Stop services with options +- `docker\scripts\docker-logs.bat` - View service logs #### Linux/Mac Shell Scripts: -- `docker-start.sh` - Start all services -- `docker-stop.sh` - Stop services with options -- `docker-logs.sh` - View service logs +- `docker/scripts/docker-start.sh` - Start all services +- `docker/scripts/docker-stop.sh` - Stop services with options +- `docker/scripts/docker-logs.sh` - View service logs ### 7. **Updated Next.js Configuration** - Enabled standalone output for Docker @@ -122,7 +122,7 @@ cd "Smart Automatic Trading BOT + AI" # Create environment file -copy .env.docker.example .env +copy docker\.env.docker.example .env # Edit .env with your MT5 credentials notepad .env @@ -141,10 +141,10 @@ MT5_PATH=/path/to/mt5/terminal **Option A: Using helper script (Recommended)** ```cmd REM Start core services -docker-start.bat +docker\scripts\docker-start.bat REM Or start with pgAdmin -docker-start.bat --admin +docker\scripts\docker-start.bat --admin ``` **Option B: Manual docker-compose** @@ -182,12 +182,12 @@ You'll see: ### View Logs ```cmd REM All services -docker-logs.bat +docker\scripts\docker-logs.bat REM Specific service -docker-logs.bat trading-api -docker-logs.bat dashboard -docker-logs.bat postgres +docker\scripts\docker-logs.bat trading-api +docker\scripts\docker-logs.bat dashboard +docker\scripts\docker-logs.bat postgres ``` ### Check Status @@ -208,13 +208,13 @@ docker-compose restart dashboard ### Stop Services ```cmd REM Stop (keeps data) -docker-stop.bat +docker\scripts\docker-stop.bat REM Stop and remove containers (keeps data) -docker-stop.bat --remove +docker\scripts\docker-stop.bat --remove REM Stop and remove everything including data (⚠️ DANGER!) -docker-stop.bat --clean +docker\scripts\docker-stop.bat --clean ``` ### Update Code and Rebuild @@ -263,7 +263,7 @@ curl http://localhost:8000/api/health **View API logs:** ```cmd -docker-logs.bat trading-api +docker\scripts\docker-logs.bat trading-api ``` ### Port Already in Use @@ -292,7 +292,7 @@ docker-compose up -d 2. Ensure MT5 terminal is accessible 3. View API logs for connection errors: ```cmd - docker-logs.bat trading-api + docker\scripts\docker-logs.bat trading-api ``` ### Database Connection Issues @@ -309,7 +309,7 @@ docker exec -it trading_bot_db pg_isready -U trading_bot **View database logs:** ```cmd -docker-logs.bat postgres +docker\scripts\docker-logs.bat postgres ``` ## 📊 Monitoring @@ -353,15 +353,27 @@ xaubot-ai/ ├── Dockerfile # Python API Docker image ├── docker-compose.yml # Service orchestration ├── .env # Environment variables (DO NOT COMMIT) -├── .env.docker.example # Environment template ├── .dockerignore # Files to exclude from build -├── docker-start.bat # Windows start script -├── docker-stop.bat # Windows stop script -├── docker-logs.bat # Windows logs script -├── docker-start.sh # Linux/Mac start script -├── docker-stop.sh # Linux/Mac stop script -├── docker-logs.sh # Linux/Mac logs script -├── DOCKER.md # Full Docker documentation +├── docker/ +│ ├── .env.docker.example # Environment template +│ ├── requirements-docker.txt # Docker-specific Python deps +│ ├── init-db/01-schema.sql # Database schema +│ ├── scripts/ # Helper scripts +│ │ ├── docker-start.bat/.sh +│ │ ├── docker-stop.bat/.sh +│ │ ├── docker-logs.bat/.sh +│ │ ├── docker-status.bat +│ │ ├── docker-add-dashboard.bat +│ │ ├── docker-remove-dashboard.bat +│ │ ├── start-all.bat +│ │ ├── start-api.bat +│ │ └── start-dashboard.bat +│ └── docs/ # Docker documentation +│ ├── DOCKER.md +│ ├── DOCKER-INTEGRATION.md +│ ├── DOCKER-SETUP-SUMMARY.md +│ ├── QUICK-START.md +│ └── SIMPLE-START.md └── web-dashboard/ ├── Dockerfile # Next.js dashboard image ├── .dockerignore # Dashboard build exclusions @@ -390,7 +402,7 @@ xaubot-ai/ If you encounter issues: -1. Check the logs: `docker-logs.bat` +1. Check the logs: `docker\scripts\docker-logs.bat` 2. Verify services: `docker-compose ps` 3. Review troubleshooting section in [DOCKER.md](DOCKER.md) 4. Check service health: `curl http://localhost:8000/api/health` diff --git a/DOCKER.md b/docker/docs/DOCKER.md similarity index 99% rename from DOCKER.md rename to docker/docs/DOCKER.md index 9b29394..d7e74c2 100644 --- a/DOCKER.md +++ b/docker/docs/DOCKER.md @@ -51,7 +51,7 @@ The Docker setup includes 4 services: cd "Smart Automatic Trading BOT + AI" # Copy environment template -cp .env.docker.example .env +cp docker/.env.docker.example .env ``` ### 2. Configure Environment diff --git a/QUICK-START.md b/docker/docs/QUICK-START.md similarity index 97% rename from QUICK-START.md rename to docker/docs/QUICK-START.md index aeea0c5..cad711b 100644 --- a/QUICK-START.md +++ b/docker/docs/QUICK-START.md @@ -14,7 +14,7 @@ cd "C:\Users\Administrator\Videos\Smart Automatic Trading BOT + AI" REM Copy environment template kalau belum ada -copy .env.docker.example .env +copy docker\.env.docker.example .env REM Edit dengan MT5 credentials Anda notepad .env @@ -148,7 +148,7 @@ Docker Compose Project: "smart-automatic-trading-bot-ai" ## ✅ Checklist -- [ ] Copy `.env.docker.example` ke `.env` +- [ ] Copy `docker/.env.docker.example` ke `.env` - [ ] Edit `.env` dengan MT5 credentials - [ ] Run: `docker-compose build trading-api dashboard` - [ ] Run: `docker-compose up -d trading-api dashboard` diff --git a/SIMPLE-START.md b/docker/docs/SIMPLE-START.md similarity index 88% rename from SIMPLE-START.md rename to docker/docs/SIMPLE-START.md index 05617ad..e8a9f3a 100644 --- a/SIMPLE-START.md +++ b/docker/docs/SIMPLE-START.md @@ -3,7 +3,7 @@ ## 🎯 Cara Tercepat (1 Command) ```cmd -start-all.bat +docker\scripts\start-all.bat ``` Script ini akan: @@ -17,19 +17,19 @@ Dua window akan terbuka otomatis! ### Option 1: Start Semua Sekaligus ```cmd -start-all.bat +docker\scripts\start-all.bat ``` ### Option 2: Start Satu-satu **Terminal 1: API** ```cmd -start-api.bat +docker\scripts\start-api.bat ``` **Terminal 2: Dashboard** ```cmd -start-dashboard.bat +docker\scripts\start-dashboard.bat ``` ## ✅ Pre-requisites @@ -155,16 +155,16 @@ Dashboard akan menampilkan: Lihat output di command windows untuk debug 4. **Quick Restart:** - Close windows dan run `start-all.bat` lagi + Close windows dan run `docker\scripts\start-all.bat` lagi ## 📝 Files ``` -start-all.bat # Start API + Dashboard -start-api.bat # Start API only -start-dashboard.bat # Start Dashboard only +docker\scripts\start-all.bat # Start API + Dashboard +docker\scripts\start-api.bat # Start API only +docker\scripts\start-dashboard.bat # Start Dashboard only ``` --- -**Super Simple!** Tinggal double-click `start-all.bat` 🎉 +**Super Simple!** Tinggal double-click `docker\scripts\start-all.bat` 🎉 diff --git a/requirements-docker.txt b/docker/requirements-docker.txt similarity index 100% rename from requirements-docker.txt rename to docker/requirements-docker.txt diff --git a/docker-add-dashboard.bat b/docker/scripts/docker-add-dashboard.bat similarity index 96% rename from docker-add-dashboard.bat rename to docker/scripts/docker-add-dashboard.bat index a37eb13..f54e067 100644 --- a/docker-add-dashboard.bat +++ b/docker/scripts/docker-add-dashboard.bat @@ -1,5 +1,6 @@ @echo off REM Add Dashboard & API to existing Docker setup +cd /d "%~dp0..\.." echo. echo ======================================== @@ -11,7 +12,7 @@ REM Check if .env exists if not exist .env ( echo WARNING: .env file not found! echo Creating .env from template... - copy .env.docker.example .env + copy docker\.env.docker.example .env echo. echo Please edit .env with your MT5 credentials: echo - MT5_LOGIN diff --git a/docker-logs.bat b/docker/scripts/docker-logs.bat similarity index 96% rename from docker-logs.bat rename to docker/scripts/docker-logs.bat index 4ad724e..cddd417 100644 --- a/docker-logs.bat +++ b/docker/scripts/docker-logs.bat @@ -1,5 +1,6 @@ @echo off REM XAUBot AI - Docker Logs Viewer (Windows) +cd /d "%~dp0..\.." set SERVICE=%1 set LINES=%2 diff --git a/docker-logs.sh b/docker/scripts/docker-logs.sh similarity index 94% rename from docker-logs.sh rename to docker/scripts/docker-logs.sh index 0093f44..82bdee3 100644 --- a/docker-logs.sh +++ b/docker/scripts/docker-logs.sh @@ -2,6 +2,7 @@ # XAUBot AI - Docker Logs Viewer set -e +cd "$(dirname "$0")/../.." SERVICE="$1" LINES="${2:-100}" diff --git a/docker-remove-dashboard.bat b/docker/scripts/docker-remove-dashboard.bat similarity index 89% rename from docker-remove-dashboard.bat rename to docker/scripts/docker-remove-dashboard.bat index 6178e00..389f53a 100644 --- a/docker-remove-dashboard.bat +++ b/docker/scripts/docker-remove-dashboard.bat @@ -1,5 +1,6 @@ @echo off REM Remove Dashboard & API while keeping database +cd /d "%~dp0..\.." echo. echo ======================================== @@ -29,6 +30,6 @@ echo. echo Database is still running: docker ps --filter "name=trading_bot_db" --format "table {{.Names}}\t{{.Status}}" echo. -echo To add dashboard back: docker-add-dashboard.bat +echo To add dashboard back: docker\scripts\docker-add-dashboard.bat echo. pause diff --git a/docker-start.bat b/docker/scripts/docker-start.bat similarity index 94% rename from docker-start.bat rename to docker/scripts/docker-start.bat index 68f56a8..0559841 100644 --- a/docker-start.bat +++ b/docker/scripts/docker-start.bat @@ -1,5 +1,6 @@ @echo off REM XAUBot AI - Docker Start Script (Windows) +cd /d "%~dp0..\.." echo. echo Starting XAUBot AI Docker Services... @@ -9,7 +10,7 @@ REM Check if .env exists if not exist .env ( echo WARNING: .env file not found! echo Creating .env from template... - copy .env.docker.example .env + copy docker\.env.docker.example .env echo. echo .env created. Please edit it with your MT5 credentials: echo - MT5_LOGIN @@ -86,6 +87,6 @@ echo View API logs: docker-compose logs -f trading-api echo Stop services: docker-compose down echo Restart: docker-compose restart echo. -echo Full documentation: DOCKER.md +echo Full documentation: docker\docs\DOCKER.md echo. pause diff --git a/docker-start.sh b/docker/scripts/docker-start.sh similarity index 94% rename from docker-start.sh rename to docker/scripts/docker-start.sh index 8468a23..b12b2f9 100644 --- a/docker-start.sh +++ b/docker/scripts/docker-start.sh @@ -2,6 +2,7 @@ # XAUBot AI - Docker Start Script set -e +cd "$(dirname "$0")/../.." echo "🚀 Starting XAUBot AI Docker Services..." echo "" @@ -10,7 +11,7 @@ echo "" if [ ! -f .env ]; then echo "⚠️ .env file not found!" echo "📝 Creating .env from template..." - cp .env.docker.example .env + cp docker/.env.docker.example .env echo "✅ .env created. Please edit it with your MT5 credentials:" echo " - MT5_LOGIN" echo " - MT5_PASSWORD" @@ -83,5 +84,5 @@ echo " View API logs: docker-compose logs -f trading-api" echo " Stop services: docker-compose down" echo " Restart: docker-compose restart" echo "" -echo "📖 Full documentation: DOCKER.md" +echo "📖 Full documentation: docker/docs/DOCKER.md" echo "" diff --git a/docker-status.bat b/docker/scripts/docker-status.bat similarity index 98% rename from docker-status.bat rename to docker/scripts/docker-status.bat index 5c00f60..6eff4cd 100644 --- a/docker-status.bat +++ b/docker/scripts/docker-status.bat @@ -1,5 +1,6 @@ @echo off REM Check status of all trading bot services +cd /d "%~dp0..\.." echo. echo ======================================== diff --git a/docker-stop.bat b/docker/scripts/docker-stop.bat similarity index 91% rename from docker-stop.bat rename to docker/scripts/docker-stop.bat index 1ffa8fd..efba493 100644 --- a/docker-stop.bat +++ b/docker/scripts/docker-stop.bat @@ -1,5 +1,6 @@ @echo off REM XAUBot AI - Docker Stop Script (Windows) +cd /d "%~dp0..\.." echo. echo Stopping XAUBot AI Docker Services... @@ -39,6 +40,6 @@ echo Containers stopped :end echo. -echo To restart: docker-start.bat +echo To restart: docker\scripts\docker-start.bat echo. pause diff --git a/docker-stop.sh b/docker/scripts/docker-stop.sh similarity index 90% rename from docker-stop.sh rename to docker/scripts/docker-stop.sh index 7c3cd6f..ac4481a 100644 --- a/docker-stop.sh +++ b/docker/scripts/docker-stop.sh @@ -2,6 +2,7 @@ # XAUBot AI - Docker Stop Script set -e +cd "$(dirname "$0")/../.." echo "🛑 Stopping XAUBot AI Docker Services..." echo "" @@ -27,5 +28,5 @@ else fi echo "" -echo "📋 To restart: ./docker-start.sh" +echo "📋 To restart: ./docker/scripts/docker-start.sh" echo "" diff --git a/start-all.bat b/docker/scripts/start-all.bat similarity index 88% rename from start-all.bat rename to docker/scripts/start-all.bat index d2a9868..e225136 100644 --- a/start-all.bat +++ b/docker/scripts/start-all.bat @@ -7,7 +7,7 @@ echo XAUBot AI - Starting All Services echo ======================================== echo. -cd "%~dp0" +cd /d "%~dp0..\.." REM Check database echo [1/3] Checking database... @@ -23,14 +23,14 @@ if errorlevel 1 ( echo. echo [2/3] Starting API... -start "Trading API" cmd /k start-api.bat +start "Trading API" cmd /k docker\scripts\start-api.bat echo Waiting for API to start... timeout /t 5 /nobreak >nul echo. echo [3/3] Starting Dashboard... -start "Web Dashboard" cmd /k start-dashboard.bat +start "Web Dashboard" cmd /k docker\scripts\start-dashboard.bat echo. echo ======================================== diff --git a/start-api.bat b/docker/scripts/start-api.bat similarity index 97% rename from start-api.bat rename to docker/scripts/start-api.bat index 7beb0db..bf6d320 100644 --- a/start-api.bat +++ b/docker/scripts/start-api.bat @@ -7,7 +7,7 @@ echo Starting Trading API echo ======================================== echo. -cd "%~dp0" +cd /d "%~dp0..\.." REM Check if virtual environment exists if not exist "venv" ( diff --git a/start-dashboard.bat b/docker/scripts/start-dashboard.bat similarity index 94% rename from start-dashboard.bat rename to docker/scripts/start-dashboard.bat index 2a59da1..99fb515 100644 --- a/start-dashboard.bat +++ b/docker/scripts/start-dashboard.bat @@ -7,7 +7,7 @@ echo Starting Web Dashboard echo ======================================== echo. -cd "%~dp0web-dashboard" +cd /d "%~dp0..\..\web-dashboard" REM Check if node_modules exists if not exist "node_modules" (