From 53448b9f3072ea799bcf6182f817bf8772b036a6 Mon Sep 17 00:00:00 2001 From: Alexander Borg Date: Sun, 17 Aug 2025 05:02:19 +0200 Subject: [PATCH] Fix jwt-token --- README.md | 10 ++--- docker-compose.simple.yml | 2 +- docker-start.bat | 22 +++++------ docker-start.sh | 24 ++++++------ docs/DOCKER_DEPLOYMENT.md | 70 +++++++++++++++++----------------- docs/DOCKER_TROUBLESHOOTING.md | 22 +++++------ package.json | 18 ++++----- test-docker-builds.bat | 4 +- test-docker-builds.sh | 6 +-- 9 files changed, 89 insertions(+), 89 deletions(-) diff --git a/README.md b/README.md index ca2bfa3..f9e274e 100644 --- a/README.md +++ b/README.md @@ -130,7 +130,7 @@ cp .env.docker .env # TWILIO_PHONE_NUMBER=your_phone # 3. Start the system -docker-compose up -d +docker compose up -d # 4. Access the application # Frontend: http://localhost:3000 @@ -142,9 +142,9 @@ docker-start.bat # Windows ``` **Docker Profiles:** -- **Default**: `docker-compose up -d` (Frontend + Backend + Database + Redis) -- **Production**: `docker-compose --profile production up -d` (+ Nginx proxy) -- **Simulation**: `docker-compose --profile simulation up -d` (+ Python simulator) +- **Default**: `docker compose up -d` (Frontend + Backend + Database + Redis) +- **Production**: `docker compose --profile production up -d` (+ Nginx proxy) +- **Simulation**: `docker compose --profile simulation up -d` (+ Python simulator) For detailed Docker deployment guide, see [docs/DOCKER_DEPLOYMENT.md](docs/DOCKER_DEPLOYMENT.md). @@ -363,7 +363,7 @@ Based on the requirements, here are additional features that would enhance the s ### Docker Deployment ```bash # Build and run with Docker Compose -docker-compose up -d +docker compose up -d ``` ### Manual Deployment diff --git a/docker-compose.simple.yml b/docker-compose.simple.yml index a3bbbab..7969bc0 100644 --- a/docker-compose.simple.yml +++ b/docker-compose.simple.yml @@ -10,7 +10,7 @@ services: POSTGRES_DB: drone_detection POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres123 - PGDATA: /var/lib/postgresql/data/pgdata + PGDATA: /var/lib/postgresql/data/pgdatas volumes: - postgres_data:/var/lib/postgresql/data ports: diff --git a/docker-start.bat b/docker-start.bat index 4349725..ff247af 100644 --- a/docker-start.bat +++ b/docker-start.bat @@ -16,7 +16,7 @@ if %errorlevel% neq 0 ( ) REM Check if Docker Compose is installed -docker-compose --version >nul 2>&1 +docker compose --version >nul 2>&1 if %errorlevel% neq 0 ( echo [ERROR] Docker Compose is not installed. Please install Docker Compose first. pause @@ -79,24 +79,24 @@ exit /b 0 :start_services REM Stop any existing containers echo [INFO] Stopping any existing containers... -docker-compose down 2>nul +docker compose down 2>nul REM Build containers if requested if not "%BUILD%"=="" ( echo [INFO] Building Docker containers... - docker-compose build + docker compose build ) REM Start the appropriate profile if "%PROFILE%"=="production" ( echo [INFO] Starting production environment... - docker-compose --profile production up %DETACH% %BUILD% + docker compose --profile production up %DETACH% %BUILD% ) else if "%PROFILE%"=="simulation" ( echo [INFO] Starting with simulation environment... - docker-compose --profile simulation up %DETACH% %BUILD% + docker compose --profile simulation up %DETACH% %BUILD% ) else ( echo [INFO] Starting development environment... - docker-compose up %DETACH% %BUILD% + docker compose up %DETACH% %BUILD% ) REM Wait a moment for services to start @@ -135,15 +135,15 @@ if not "%DETACH%"=="" ( echo Operator: operator / operator123 echo. echo Useful commands: - echo docker-compose logs -f # View logs - echo docker-compose ps # Check status - echo docker-compose down # Stop services - echo docker-compose restart backend # Restart a service + echo docker compose logs -f # View logs + echo docker compose ps # Check status + echo docker compose down # Stop services + echo docker compose restart backend # Restart a service echo. if "%PROFILE%"=="simulation" ( echo 🐍 Simulation is running! - echo Monitor with: docker-compose logs -f simulator + echo Monitor with: docker compose logs -f simulator echo. ) ) else ( diff --git a/docker-start.sh b/docker-start.sh index a093d8a..b2b4202 100644 --- a/docker-start.sh +++ b/docker-start.sh @@ -39,7 +39,7 @@ if ! command -v docker &> /dev/null; then fi # Check if Docker Compose is installed -if ! command -v docker-compose &> /dev/null; then +if ! command -v docker compose &> /dev/null; then print_error "Docker Compose is not installed. Please install Docker Compose first." exit 1 fi @@ -108,27 +108,27 @@ done # Stop any existing containers print_status "Stopping any existing containers..." -docker-compose down 2>/dev/null || true +docker compose down 2>/dev/null || true # Build containers if requested if [ -n "$BUILD" ]; then print_status "Building Docker containers..." - docker-compose build + docker compose build fi # Start the appropriate profile case $PROFILE in "production") print_status "Starting production environment..." - docker-compose --profile production up $DETACH $BUILD + docker compose --profile production up $DETACH $BUILD ;; "simulation") print_status "Starting with simulation environment..." - docker-compose --profile simulation up $DETACH $BUILD + docker compose --profile simulation up $DETACH $BUILD ;; *) print_status "Starting development environment..." - docker-compose up $DETACH $BUILD + docker compose up $DETACH $BUILD ;; esac @@ -155,7 +155,7 @@ if [ -n "$DETACH" ]; then fi # Check database - if docker-compose exec -T postgres pg_isready -U postgres > /dev/null 2>&1; then + if docker compose exec -T postgres pg_isready -U postgres > /dev/null 2>&1; then print_success "Database is healthy" else print_warning "Database health check failed" @@ -174,15 +174,15 @@ if [ -n "$DETACH" ]; then echo " Operator: operator / operator123" echo "" echo "Useful commands:" - echo " docker-compose logs -f # View logs" - echo " docker-compose ps # Check status" - echo " docker-compose down # Stop services" - echo " docker-compose restart backend # Restart a service" + echo " docker compose logs -f # View logs" + echo " docker compose ps # Check status" + echo " docker compose down # Stop services" + echo " docker compose restart backend # Restart a service" echo "" if [ "$PROFILE" = "simulation" ]; then echo "🐍 Simulation is running!" - echo " Monitor with: docker-compose logs -f simulator" + echo " Monitor with: docker compose logs -f simulator" echo "" fi else diff --git a/docs/DOCKER_DEPLOYMENT.md b/docs/DOCKER_DEPLOYMENT.md index 67afa2d..ae169aa 100644 --- a/docs/DOCKER_DEPLOYMENT.md +++ b/docs/DOCKER_DEPLOYMENT.md @@ -25,13 +25,13 @@ nano .env ```bash # Build and start all services -docker-compose up -d +docker compose up -d # View logs -docker-compose logs -f +docker compose logs -f # Check service status -docker-compose ps +docker compose ps ``` ### 3. Access the Application @@ -43,7 +43,7 @@ docker-compose ps ### Testing Docker Builds -Before running the full docker-compose setup, you can test individual container builds: +Before running the full docker compose setup, you can test individual container builds: ```bash # Test all builds @@ -76,19 +76,19 @@ docker build -f docker/simulator/Dockerfile -t test-simulator . ### Development Profile (Default) ```bash -docker-compose up -d +docker compose up -d ``` Includes: Frontend, Backend, Database, Redis ### Production Profile ```bash -docker-compose --profile production up -d +docker compose --profile production up -d ``` Includes: All services + Nginx reverse proxy ### Simulation Profile ```bash -docker-compose --profile simulation up -d +docker compose --profile simulation up -d ``` Includes: All services + Python drone simulator @@ -174,10 +174,10 @@ VITE_WS_URL=ws://localhost:3001 ### Backup Strategy ```bash # Database backup -docker-compose exec postgres pg_dump -U postgres drone_detection > backup.sql +docker compose exec postgres pg_dump -U postgres drone_detection > backup.sql # Restore database -docker-compose exec -T postgres psql -U postgres drone_detection < backup.sql +docker compose exec -T postgres psql -U postgres drone_detection < backup.sql # Volume backup docker run --rm -v uamils_postgres_data:/data -v $(pwd):/backup alpine tar czf /backup/postgres_backup.tar.gz /data @@ -188,19 +188,19 @@ docker run --rm -v uamils_postgres_data:/data -v $(pwd):/backup alpine tar czf / ### View Logs ```bash # All services -docker-compose logs -f +docker compose logs -f # Specific service -docker-compose logs -f backend +docker compose logs -f backend # Last 100 lines -docker-compose logs --tail=100 backend +docker compose logs --tail=100 backend ``` ### Health Checks ```bash # Check service health -docker-compose ps +docker compose ps # Manual health check curl http://localhost:3001/api/health @@ -213,7 +213,7 @@ curl http://localhost:3000/health docker stats # Detailed container info -docker-compose exec backend top +docker compose exec backend top ``` ## Troubleshooting @@ -223,14 +223,14 @@ docker-compose exec backend top #### 1. Database Connection Issues ```bash # Check database status -docker-compose exec postgres pg_isready -U postgres +docker compose exec postgres pg_isready -U postgres # View database logs -docker-compose logs postgres +docker compose logs postgres # Reset database -docker-compose down -v -docker-compose up -d +docker compose down -v +docker compose up -d ``` #### 2. Frontend Build Issues @@ -239,13 +239,13 @@ docker-compose up -d # The Dockerfile has been updated to use npm install instead # Rebuild frontend -docker-compose build --no-cache frontend +docker compose build --no-cache frontend # Test frontend build individually docker build -t test-frontend ./client # Check build logs -docker-compose logs frontend +docker compose logs frontend ``` #### 3. Backend API Issues @@ -254,10 +254,10 @@ docker-compose logs frontend curl http://localhost:3001/api/health/detailed # View backend logs -docker-compose logs backend +docker compose logs backend # Restart backend -docker-compose restart backend +docker compose restart backend ``` #### 4. Port Conflicts @@ -267,7 +267,7 @@ netstat -tulpn | grep :3000 netstat -tulpn | grep :3001 # Stop conflicting services -docker-compose down +docker compose down ``` ### Performance Tuning @@ -275,13 +275,13 @@ docker-compose down #### 1. Database Optimization ```bash # Increase shared_buffers for PostgreSQL -docker-compose exec postgres psql -U postgres -c "ALTER SYSTEM SET shared_buffers = '256MB';" -docker-compose restart postgres +docker compose exec postgres psql -U postgres -c "ALTER SYSTEM SET shared_buffers = '256MB';" +docker compose restart postgres ``` #### 2. Memory Limits ```yaml -# Add to docker-compose.yml services +# Add to docker compose.yml services services: backend: mem_limit: 512m @@ -312,7 +312,7 @@ echo "your-twilio-token" | docker secret create twilio_token - ### 3. Nginx Configuration ```bash # Enable production profile -docker-compose --profile production up -d +docker compose --profile production up -d # Update nginx config for your domain # Edit docker/nginx/default.conf @@ -321,7 +321,7 @@ docker-compose --profile production up -d ### 4. Monitoring Setup ```bash # Add monitoring services -docker-compose -f docker-compose.yml -f docker-compose.monitoring.yml up -d +docker compose -f docker compose.yml -f docker compose.monitoring.yml up -d ``` ## Scaling @@ -329,7 +329,7 @@ docker-compose -f docker-compose.yml -f docker-compose.monitoring.yml up -d ### Horizontal Scaling ```yaml # Scale backend instances -docker-compose up -d --scale backend=3 +docker compose up -d --scale backend=3 # Load balancer configuration required ``` @@ -350,11 +350,11 @@ postgres-replica: ### Updates ```bash # Update images -docker-compose pull +docker compose pull # Rebuild and restart -docker-compose down -docker-compose up -d --build +docker compose down +docker compose up -d --build ``` ### Cleanup @@ -374,10 +374,10 @@ docker builder prune ### Run Simulation ```bash # Start simulation profile -docker-compose --profile simulation up -d +docker compose --profile simulation up -d # Run custom simulation -docker-compose run --rm simulator python drone_simulator.py \ +docker compose run --rm simulator python drone_simulator.py \ --devices 10 \ --duration 3600 \ --detection-interval 30 @@ -386,7 +386,7 @@ docker-compose run --rm simulator python drone_simulator.py \ ### Monitor Simulation ```bash # View simulator logs -docker-compose logs -f simulator +docker compose logs -f simulator # Check API stats curl http://localhost:3001/api/dashboard/stats diff --git a/docs/DOCKER_TROUBLESHOOTING.md b/docs/DOCKER_TROUBLESHOOTING.md index b386fe5..9196a4d 100644 --- a/docs/DOCKER_TROUBLESHOOTING.md +++ b/docs/DOCKER_TROUBLESHOOTING.md @@ -26,14 +26,14 @@ ls client/nginx.conf ### 4. Docker Compose Network Issues **Error**: Services cannot communicate -**Solution**: Use the simplified docker-compose file +**Solution**: Use the simplified docker compose file ```bash -docker-compose -f docker-compose.simple.yml up -d +docker compose -f docker compose.simple.yml up -d ``` ## Build Testing -Test builds individually before running docker-compose: +Test builds individually before running docker compose: ```bash # Linux/Mac @@ -48,17 +48,17 @@ test-docker-builds.bat ### Reset Everything ```bash -docker-compose down -v +docker compose down -v docker system prune -f -docker-compose build --no-cache -docker-compose up -d +docker compose build --no-cache +docker compose up -d ``` ### Check Service Logs ```bash -docker-compose logs backend -docker-compose logs frontend -docker-compose logs postgres +docker compose logs backend +docker compose logs frontend +docker compose logs postgres ``` ### Manual Container Testing @@ -81,8 +81,8 @@ docker run -it --rm -p 3000:80 drone-frontend ```bash # Use BuildKit for faster builds export DOCKER_BUILDKIT=1 -docker-compose build +docker compose build # Parallel builds -docker-compose build --parallel +docker compose build --parallel ``` diff --git a/package.json b/package.json index 1f47da9..83797b0 100644 --- a/package.json +++ b/package.json @@ -18,15 +18,15 @@ "build": "npm run client:build", "start": "npm run server:start", "setup": "npm run install:all && npm run db:setup", - "docker:build": "docker-compose build", - "docker:up": "docker-compose up -d", - "docker:down": "docker-compose down", - "docker:logs": "docker-compose logs -f", - "docker:restart": "docker-compose restart", - "docker:clean": "docker-compose down -v && docker system prune -f", - "docker:prod": "docker-compose --profile production up -d", - "docker:simulate": "docker-compose --profile simulation up -d", - "docker:backup": "docker-compose exec postgres pg_dump -U postgres drone_detection > backup-$(date +%Y%m%d-%H%M%S).sql" + "docker:build": "docker compose build", + "docker:up": "docker compose up -d", + "docker:down": "docker compose down", + "docker:logs": "docker compose logs -f", + "docker:restart": "docker compose restart", + "docker:clean": "docker compose down -v && docker system prune -f", + "docker:prod": "docker compose --profile production up -d", + "docker:simulate": "docker compose --profile simulation up -d", + "docker:backup": "docker compose exec postgres pg_dump -U postgres drone_detection > backup-$(date +%Y%m%d-%H%M%S).sql" }, "keywords": ["drone", "detection", "monitoring", "iot", "security"], "author": "Your Name", diff --git a/test-docker-builds.bat b/test-docker-builds.bat index a19c78c..8d7e24f 100644 --- a/test-docker-builds.bat +++ b/test-docker-builds.bat @@ -31,8 +31,8 @@ echo [SUCCESS] Simulator build completed echo [SUCCESS] All builds completed successfully! echo. echo You can now run: -echo docker-compose up -d +echo docker compose up -d echo or -echo docker-compose -f docker-compose.simple.yml up -d +echo docker compose -f docker compose.simple.yml up -d pause diff --git a/test-docker-builds.sh b/test-docker-builds.sh index 65e85f9..f9d5134 100644 --- a/test-docker-builds.sh +++ b/test-docker-builds.sh @@ -1,7 +1,7 @@ #!/bin/bash # Docker Build Test Script -# Tests building individual containers before running docker-compose +# Tests building individual containers before running docker compose set -e @@ -56,6 +56,6 @@ fi print_success "All builds completed successfully!" echo "" echo "You can now run:" -echo " docker-compose up -d" +echo " docker compose up -d" echo " or" -echo " docker-compose -f docker-compose.simple.yml up -d" +echo " docker compose -f docker compose.simple.yml up -d"