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
# 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

View File

@@ -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:

View File

@@ -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 (

View File

@@ -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

View File

@@ -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

View File

@@ -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
```

View File

@@ -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",

View File

@@ -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

View File

@@ -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"