Fix jwt-token

This commit is contained in:
2025-08-17 05:02:19 +02:00
parent 5d224a13d0
commit 53448b9f30
9 changed files with 89 additions and 89 deletions

View File

@@ -130,7 +130,7 @@ cp .env.docker .env
# TWILIO_PHONE_NUMBER=your_phone # TWILIO_PHONE_NUMBER=your_phone
# 3. Start the system # 3. Start the system
docker-compose up -d docker compose up -d
# 4. Access the application # 4. Access the application
# Frontend: http://localhost:3000 # Frontend: http://localhost:3000
@@ -142,9 +142,9 @@ docker-start.bat # Windows
``` ```
**Docker Profiles:** **Docker Profiles:**
- **Default**: `docker-compose up -d` (Frontend + Backend + Database + Redis) - **Default**: `docker compose up -d` (Frontend + Backend + Database + Redis)
- **Production**: `docker-compose --profile production up -d` (+ Nginx proxy) - **Production**: `docker compose --profile production up -d` (+ Nginx proxy)
- **Simulation**: `docker-compose --profile simulation up -d` (+ Python simulator) - **Simulation**: `docker compose --profile simulation up -d` (+ Python simulator)
For detailed Docker deployment guide, see [docs/DOCKER_DEPLOYMENT.md](docs/DOCKER_DEPLOYMENT.md). 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 ### Docker Deployment
```bash ```bash
# Build and run with Docker Compose # Build and run with Docker Compose
docker-compose up -d docker compose up -d
``` ```
### Manual Deployment ### Manual Deployment

View File

@@ -10,7 +10,7 @@ services:
POSTGRES_DB: drone_detection POSTGRES_DB: drone_detection
POSTGRES_USER: postgres POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres123 POSTGRES_PASSWORD: postgres123
PGDATA: /var/lib/postgresql/data/pgdata PGDATA: /var/lib/postgresql/data/pgdatas
volumes: volumes:
- postgres_data:/var/lib/postgresql/data - postgres_data:/var/lib/postgresql/data
ports: ports:

View File

@@ -16,7 +16,7 @@ if %errorlevel% neq 0 (
) )
REM Check if Docker Compose is installed REM Check if Docker Compose is installed
docker-compose --version >nul 2>&1 docker compose --version >nul 2>&1
if %errorlevel% neq 0 ( if %errorlevel% neq 0 (
echo [ERROR] Docker Compose is not installed. Please install Docker Compose first. echo [ERROR] Docker Compose is not installed. Please install Docker Compose first.
pause pause
@@ -79,24 +79,24 @@ exit /b 0
:start_services :start_services
REM Stop any existing containers REM Stop any existing containers
echo [INFO] Stopping any existing containers... echo [INFO] Stopping any existing containers...
docker-compose down 2>nul docker compose down 2>nul
REM Build containers if requested REM Build containers if requested
if not "%BUILD%"=="" ( if not "%BUILD%"=="" (
echo [INFO] Building Docker containers... echo [INFO] Building Docker containers...
docker-compose build docker compose build
) )
REM Start the appropriate profile REM Start the appropriate profile
if "%PROFILE%"=="production" ( if "%PROFILE%"=="production" (
echo [INFO] Starting production environment... echo [INFO] Starting production environment...
docker-compose --profile production up %DETACH% %BUILD% docker compose --profile production up %DETACH% %BUILD%
) else if "%PROFILE%"=="simulation" ( ) else if "%PROFILE%"=="simulation" (
echo [INFO] Starting with simulation environment... echo [INFO] Starting with simulation environment...
docker-compose --profile simulation up %DETACH% %BUILD% docker compose --profile simulation up %DETACH% %BUILD%
) else ( ) else (
echo [INFO] Starting development environment... echo [INFO] Starting development environment...
docker-compose up %DETACH% %BUILD% docker compose up %DETACH% %BUILD%
) )
REM Wait a moment for services to start REM Wait a moment for services to start
@@ -135,15 +135,15 @@ if not "%DETACH%"=="" (
echo Operator: operator / operator123 echo Operator: operator / operator123
echo. echo.
echo Useful commands: echo Useful commands:
echo docker-compose logs -f # View logs echo docker compose logs -f # View logs
echo docker-compose ps # Check status echo docker compose ps # Check status
echo docker-compose down # Stop services echo docker compose down # Stop services
echo docker-compose restart backend # Restart a service echo docker compose restart backend # Restart a service
echo. echo.
if "%PROFILE%"=="simulation" ( if "%PROFILE%"=="simulation" (
echo 🐍 Simulation is running! echo 🐍 Simulation is running!
echo Monitor with: docker-compose logs -f simulator echo Monitor with: docker compose logs -f simulator
echo. echo.
) )
) else ( ) else (

View File

@@ -39,7 +39,7 @@ if ! command -v docker &> /dev/null; then
fi fi
# Check if Docker Compose is installed # 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." print_error "Docker Compose is not installed. Please install Docker Compose first."
exit 1 exit 1
fi fi
@@ -108,27 +108,27 @@ done
# Stop any existing containers # Stop any existing containers
print_status "Stopping 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 # Build containers if requested
if [ -n "$BUILD" ]; then if [ -n "$BUILD" ]; then
print_status "Building Docker containers..." print_status "Building Docker containers..."
docker-compose build docker compose build
fi fi
# Start the appropriate profile # Start the appropriate profile
case $PROFILE in case $PROFILE in
"production") "production")
print_status "Starting production environment..." print_status "Starting production environment..."
docker-compose --profile production up $DETACH $BUILD docker compose --profile production up $DETACH $BUILD
;; ;;
"simulation") "simulation")
print_status "Starting with simulation environment..." 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..." print_status "Starting development environment..."
docker-compose up $DETACH $BUILD docker compose up $DETACH $BUILD
;; ;;
esac esac
@@ -155,7 +155,7 @@ if [ -n "$DETACH" ]; then
fi fi
# Check database # 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" print_success "Database is healthy"
else else
print_warning "Database health check failed" print_warning "Database health check failed"
@@ -174,15 +174,15 @@ if [ -n "$DETACH" ]; then
echo " Operator: operator / operator123" echo " Operator: operator / operator123"
echo "" echo ""
echo "Useful commands:" echo "Useful commands:"
echo " docker-compose logs -f # View logs" echo " docker compose logs -f # View logs"
echo " docker-compose ps # Check status" echo " docker compose ps # Check status"
echo " docker-compose down # Stop services" echo " docker compose down # Stop services"
echo " docker-compose restart backend # Restart a service" echo " docker compose restart backend # Restart a service"
echo "" echo ""
if [ "$PROFILE" = "simulation" ]; then if [ "$PROFILE" = "simulation" ]; then
echo "🐍 Simulation is running!" echo "🐍 Simulation is running!"
echo " Monitor with: docker-compose logs -f simulator" echo " Monitor with: docker compose logs -f simulator"
echo "" echo ""
fi fi
else else

View File

@@ -25,13 +25,13 @@ nano .env
```bash ```bash
# Build and start all services # Build and start all services
docker-compose up -d docker compose up -d
# View logs # View logs
docker-compose logs -f docker compose logs -f
# Check service status # Check service status
docker-compose ps docker compose ps
``` ```
### 3. Access the Application ### 3. Access the Application
@@ -43,7 +43,7 @@ docker-compose ps
### Testing Docker Builds ### 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 ```bash
# Test all builds # Test all builds
@@ -76,19 +76,19 @@ docker build -f docker/simulator/Dockerfile -t test-simulator .
### Development Profile (Default) ### Development Profile (Default)
```bash ```bash
docker-compose up -d docker compose up -d
``` ```
Includes: Frontend, Backend, Database, Redis Includes: Frontend, Backend, Database, Redis
### Production Profile ### Production Profile
```bash ```bash
docker-compose --profile production up -d docker compose --profile production up -d
``` ```
Includes: All services + Nginx reverse proxy Includes: All services + Nginx reverse proxy
### Simulation Profile ### Simulation Profile
```bash ```bash
docker-compose --profile simulation up -d docker compose --profile simulation up -d
``` ```
Includes: All services + Python drone simulator Includes: All services + Python drone simulator
@@ -174,10 +174,10 @@ VITE_WS_URL=ws://localhost:3001
### Backup Strategy ### Backup Strategy
```bash ```bash
# Database backup # 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 # 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 # Volume backup
docker run --rm -v uamils_postgres_data:/data -v $(pwd):/backup alpine tar czf /backup/postgres_backup.tar.gz /data 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 ### View Logs
```bash ```bash
# All services # All services
docker-compose logs -f docker compose logs -f
# Specific service # Specific service
docker-compose logs -f backend docker compose logs -f backend
# Last 100 lines # Last 100 lines
docker-compose logs --tail=100 backend docker compose logs --tail=100 backend
``` ```
### Health Checks ### Health Checks
```bash ```bash
# Check service health # Check service health
docker-compose ps docker compose ps
# Manual health check # Manual health check
curl http://localhost:3001/api/health curl http://localhost:3001/api/health
@@ -213,7 +213,7 @@ curl http://localhost:3000/health
docker stats docker stats
# Detailed container info # Detailed container info
docker-compose exec backend top docker compose exec backend top
``` ```
## Troubleshooting ## Troubleshooting
@@ -223,14 +223,14 @@ docker-compose exec backend top
#### 1. Database Connection Issues #### 1. Database Connection Issues
```bash ```bash
# Check database status # Check database status
docker-compose exec postgres pg_isready -U postgres docker compose exec postgres pg_isready -U postgres
# View database logs # View database logs
docker-compose logs postgres docker compose logs postgres
# Reset database # Reset database
docker-compose down -v docker compose down -v
docker-compose up -d docker compose up -d
``` ```
#### 2. Frontend Build Issues #### 2. Frontend Build Issues
@@ -239,13 +239,13 @@ docker-compose up -d
# The Dockerfile has been updated to use npm install instead # The Dockerfile has been updated to use npm install instead
# Rebuild frontend # Rebuild frontend
docker-compose build --no-cache frontend docker compose build --no-cache frontend
# Test frontend build individually # Test frontend build individually
docker build -t test-frontend ./client docker build -t test-frontend ./client
# Check build logs # Check build logs
docker-compose logs frontend docker compose logs frontend
``` ```
#### 3. Backend API Issues #### 3. Backend API Issues
@@ -254,10 +254,10 @@ docker-compose logs frontend
curl http://localhost:3001/api/health/detailed curl http://localhost:3001/api/health/detailed
# View backend logs # View backend logs
docker-compose logs backend docker compose logs backend
# Restart backend # Restart backend
docker-compose restart backend docker compose restart backend
``` ```
#### 4. Port Conflicts #### 4. Port Conflicts
@@ -267,7 +267,7 @@ netstat -tulpn | grep :3000
netstat -tulpn | grep :3001 netstat -tulpn | grep :3001
# Stop conflicting services # Stop conflicting services
docker-compose down docker compose down
``` ```
### Performance Tuning ### Performance Tuning
@@ -275,13 +275,13 @@ docker-compose down
#### 1. Database Optimization #### 1. Database Optimization
```bash ```bash
# Increase shared_buffers for PostgreSQL # Increase shared_buffers for PostgreSQL
docker-compose exec postgres psql -U postgres -c "ALTER SYSTEM SET shared_buffers = '256MB';" docker compose exec postgres psql -U postgres -c "ALTER SYSTEM SET shared_buffers = '256MB';"
docker-compose restart postgres docker compose restart postgres
``` ```
#### 2. Memory Limits #### 2. Memory Limits
```yaml ```yaml
# Add to docker-compose.yml services # Add to docker compose.yml services
services: services:
backend: backend:
mem_limit: 512m mem_limit: 512m
@@ -312,7 +312,7 @@ echo "your-twilio-token" | docker secret create twilio_token -
### 3. Nginx Configuration ### 3. Nginx Configuration
```bash ```bash
# Enable production profile # Enable production profile
docker-compose --profile production up -d docker compose --profile production up -d
# Update nginx config for your domain # Update nginx config for your domain
# Edit docker/nginx/default.conf # Edit docker/nginx/default.conf
@@ -321,7 +321,7 @@ docker-compose --profile production up -d
### 4. Monitoring Setup ### 4. Monitoring Setup
```bash ```bash
# Add monitoring services # 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 ## Scaling
@@ -329,7 +329,7 @@ docker-compose -f docker-compose.yml -f docker-compose.monitoring.yml up -d
### Horizontal Scaling ### Horizontal Scaling
```yaml ```yaml
# Scale backend instances # Scale backend instances
docker-compose up -d --scale backend=3 docker compose up -d --scale backend=3
# Load balancer configuration required # Load balancer configuration required
``` ```
@@ -350,11 +350,11 @@ postgres-replica:
### Updates ### Updates
```bash ```bash
# Update images # Update images
docker-compose pull docker compose pull
# Rebuild and restart # Rebuild and restart
docker-compose down docker compose down
docker-compose up -d --build docker compose up -d --build
``` ```
### Cleanup ### Cleanup
@@ -374,10 +374,10 @@ docker builder prune
### Run Simulation ### Run Simulation
```bash ```bash
# Start simulation profile # Start simulation profile
docker-compose --profile simulation up -d docker compose --profile simulation up -d
# Run custom simulation # Run custom simulation
docker-compose run --rm simulator python drone_simulator.py \ docker compose run --rm simulator python drone_simulator.py \
--devices 10 \ --devices 10 \
--duration 3600 \ --duration 3600 \
--detection-interval 30 --detection-interval 30
@@ -386,7 +386,7 @@ docker-compose run --rm simulator python drone_simulator.py \
### Monitor Simulation ### Monitor Simulation
```bash ```bash
# View simulator logs # View simulator logs
docker-compose logs -f simulator docker compose logs -f simulator
# Check API stats # Check API stats
curl http://localhost:3001/api/dashboard/stats curl http://localhost:3001/api/dashboard/stats

View File

@@ -26,14 +26,14 @@ ls client/nginx.conf
### 4. Docker Compose Network Issues ### 4. Docker Compose Network Issues
**Error**: Services cannot communicate **Error**: Services cannot communicate
**Solution**: Use the simplified docker-compose file **Solution**: Use the simplified docker compose file
```bash ```bash
docker-compose -f docker-compose.simple.yml up -d docker compose -f docker compose.simple.yml up -d
``` ```
## Build Testing ## Build Testing
Test builds individually before running docker-compose: Test builds individually before running docker compose:
```bash ```bash
# Linux/Mac # Linux/Mac
@@ -48,17 +48,17 @@ test-docker-builds.bat
### Reset Everything ### Reset Everything
```bash ```bash
docker-compose down -v docker compose down -v
docker system prune -f docker system prune -f
docker-compose build --no-cache docker compose build --no-cache
docker-compose up -d docker compose up -d
``` ```
### Check Service Logs ### Check Service Logs
```bash ```bash
docker-compose logs backend docker compose logs backend
docker-compose logs frontend docker compose logs frontend
docker-compose logs postgres docker compose logs postgres
``` ```
### Manual Container Testing ### Manual Container Testing
@@ -81,8 +81,8 @@ docker run -it --rm -p 3000:80 drone-frontend
```bash ```bash
# Use BuildKit for faster builds # Use BuildKit for faster builds
export DOCKER_BUILDKIT=1 export DOCKER_BUILDKIT=1
docker-compose build docker compose build
# Parallel builds # Parallel builds
docker-compose build --parallel docker compose build --parallel
``` ```

View File

@@ -18,15 +18,15 @@
"build": "npm run client:build", "build": "npm run client:build",
"start": "npm run server:start", "start": "npm run server:start",
"setup": "npm run install:all && npm run db:setup", "setup": "npm run install:all && npm run db:setup",
"docker:build": "docker-compose build", "docker:build": "docker compose build",
"docker:up": "docker-compose up -d", "docker:up": "docker compose up -d",
"docker:down": "docker-compose down", "docker:down": "docker compose down",
"docker:logs": "docker-compose logs -f", "docker:logs": "docker compose logs -f",
"docker:restart": "docker-compose restart", "docker:restart": "docker compose restart",
"docker:clean": "docker-compose down -v && docker system prune -f", "docker:clean": "docker compose down -v && docker system prune -f",
"docker:prod": "docker-compose --profile production up -d", "docker:prod": "docker compose --profile production up -d",
"docker:simulate": "docker-compose --profile simulation 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: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"], "keywords": ["drone", "detection", "monitoring", "iot", "security"],
"author": "Your Name", "author": "Your Name",

View File

@@ -31,8 +31,8 @@ echo [SUCCESS] Simulator build completed
echo [SUCCESS] All builds completed successfully! echo [SUCCESS] All builds completed successfully!
echo. echo.
echo You can now run: echo You can now run:
echo docker-compose up -d echo docker compose up -d
echo or echo or
echo docker-compose -f docker-compose.simple.yml up -d echo docker compose -f docker compose.simple.yml up -d
pause pause

View File

@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# Docker Build Test Script # Docker Build Test Script
# Tests building individual containers before running docker-compose # Tests building individual containers before running docker compose
set -e set -e
@@ -56,6 +56,6 @@ fi
print_success "All builds completed successfully!" print_success "All builds completed successfully!"
echo "" echo ""
echo "You can now run:" echo "You can now run:"
echo " docker-compose up -d" echo " docker compose up -d"
echo " or" echo " or"
echo " docker-compose -f docker-compose.simple.yml up -d" echo " docker compose -f docker compose.simple.yml up -d"