version: '3.8' services: osint-platform: build: context: . dockerfile: Dockerfile container_name: osint-platform restart: unless-stopped ports: - "3001:3001" environment: - NODE_ENV=production - PORT=3001 # REQUIRED: Set these in Coolify or via .env file - MONGODB_URI=${MONGODB_URI} - MASTER_PASSWORD=${MASTER_PASSWORD} - JWT_SECRET=${JWT_SECRET} - VAULT_ENCRYPTION_KEY=${VAULT_ENCRYPTION_KEY} - FRONTEND_URL=${FRONTEND_URL:-http://localhost:3001} - SESSION_EXPIRY=${SESSION_EXPIRY:-24h} volumes: # Logs only (database is MongoDB) - osint-logs:/app/logs healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3001/api/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s # Security options security_opt: - no-new-privileges:true # Resource limits (adjust based on your needs) deploy: resources: limits: memory: 2G reservations: memory: 512M # Optional: Local MongoDB for development # Uncomment if you want to run MongoDB locally via Docker # mongodb: # image: mongo:7 # container_name: osint-mongodb # restart: unless-stopped # ports: # - "27017:27017" # volumes: # - mongodb-data:/data/db # environment: # - MONGO_INITDB_DATABASE=osint_platform volumes: osint-logs: driver: local # mongodb-data: # driver: local