Quick Diagnosis
Before diving into specific issues, try these steps:Check Deployment Status
Review Logs
Deployment Issues
ImagePullBackOff
Problem: Deployment fails withImagePullBackOff or ErrImagePull error.
Image Name or Tag is Incorrect
Image Name or Tag is Incorrect
- Verify the image name is spelled correctly
- Check that the tag exists in your registry
- Try pulling the image locally:
docker pull your-image:tag - Make sure you’re not using
latesttag if you haven’t pushed it
Image is in Private Registry
Image is in Private Registry
- Click on the service → Config tab → Image Source → “Add Registry Credentials”
- Add your registry credentials (username, password, registry URL)
- Make sure the registry URL is correct:
- Docker Hub:
docker.ioor leave blank - GHCR:
ghcr.io - GCR:
gcr.io - ECR:
[account-id].dkr.ecr.[region].amazonaws.com
- Docker Hub:
- Redeploy after adding credentials
Wrong Platform Architecture
Wrong Platform Architecture
- Rebuild your image for linux/amd64:
- Push the rebuilt image
- Redeploy in Suga
Registry is Unreachable
Registry is Unreachable
- Verify the registry is online
- Check if registry requires VPN or IP allowlisting
- Try pulling from a different network
- For self-hosted registries, ensure they’re publicly accessible or BYOC cluster has access
CrashLoopBackOff
Problem: Container starts but immediately crashes, then restarts repeatedly.Application Error on Startup
Application Error on Startup
- Check logs for the actual error message
- Common issues:
- Missing environment variables
- Database connection failures
- Port binding errors
- Missing dependencies
- Test your image locally with same environment variables:
Wrong Command or Entrypoint
Wrong Command or Entrypoint
- Verify your Dockerfile’s CMD or ENTRYPOINT is correct
- If overriding command in Suga, make sure it’s a valid command
- Test locally:
docker run your-image:tag - Common mistake: forgetting to copy the binary or script into the image
Port Binding Issues
Port Binding Issues
- Make sure your application binds to
0.0.0.0, notlocalhost: - Verify the port in Public Networking config matches your app’s listening port
- Don’t use privileged ports (1-1024) unless necessary
Missing Dependencies
Missing Dependencies
- Verify all dependencies are installed in your Dockerfile
- For Node.js:
RUN npm installorRUN npm ci - For Python:
RUN pip install -r requirements.txt - For compiled languages: Include runtime dependencies
- Test your image locally to ensure everything is included
Insufficient Resources
Insufficient Resources
- Increase memory allocation in Config → Resources
- Start with at least 512 MiB, increase to 1 GiB or more if needed
- Check metrics to see actual memory usage
- Optimize your application’s memory usage
Deployment Stuck in Pending
Problem: Deployment remains in “Pending” state and doesn’t progress.Insufficient Cluster Resources
Insufficient Cluster Resources
- Your plan may be at resource limits
- Check total CPU/memory across all services in environment
- Delete unused services or environments to free resources
- Upgrade plan for more resources
Volume Mount Issues
Volume Mount Issues
- Verify volume is connected properly on canvas
- Check that mount path is valid (starts with
/) - Ensure service has only 1 replica (volumes don’t work with >1)
- Try disconnecting and reconnecting the volume
Image Pull Taking Long Time
Image Pull Taking Long Time
- Be patient - large images (>1 GB) take time to pull
- Check logs for “Pulling image” messages
- Consider optimizing image size:
- Use multi-stage builds
- Use Alpine-based images
- Remove unnecessary files
- Use .dockerignore
Networking Issues
Can’t Access Public HTTPS Endpoint
Problem: Deployment succeeded but can’t reach the service at the Suga URL.Wrong Port Configuration
Wrong Port Configuration
- Verify the port in Public Networking config matches your app’s listening port
- Check logs: look for “Server listening on port X”
- Common ports: 3000 (Node.js), 8000 (Python), 8080 (Java/Go)
- Update port in Config tab → Public Network section
- Redeploy after changing port
Application Not Binding to 0.0.0.0
Application Not Binding to 0.0.0.0
- Ensure your app binds to
0.0.0.0(all interfaces), notlocalhost: - Rebuild and redeploy with the fix
Application Crashed After Startup
Application Crashed After Startup
- Check runtime logs for errors
- Look for crashes, exceptions, or OOM (Out of Memory) kills
- Check metrics for resource usage spikes
- Increase resources if hitting limits
Can’t Connect to Other Services
Problem: Service can’t connect to database or other services in same environment.Wrong Hostname
Wrong Hostname
- Use the service name as hostname, not the full Suga URL
- Format:
service-name:port - Example:
postgres:5432, not a public URL likedef456ghi.suga.app - Check service name on canvas (may be different from display name)
- Use lowercase and hyphens for multi-word names
Wrong Port
Wrong Port
- Verify the target service’s port
- Common ports:
- PostgreSQL: 5432
- MySQL/MariaDB: 3306
- Redis: 6379
- MongoDB: 27017
- Check the target service’s logs to see what port it’s listening on
Service Not Ready
Service Not Ready
- Check if target service is fully running and healthy
- Look at deployment status on canvas
- Database services may take 30-60 seconds to fully start
- Implement retry logic in your application
Firewall or Network Policy
Firewall or Network Policy
- Private networking should work automatically within same environment
- Verify both services are in the same environment
- Check logs for network-related errors
- Contact support if issue persists
Custom Domain Not Working
Problem: Custom domain doesn’t resolve to your application.DNS Not Propagated
DNS Not Propagated
- DNS propagation can take 1-48 hours
- Check DNS with:
dig your-domain.comornslookup your-domain.com - Verify CNAME record points to your Suga domain
- Correct format:
- Type: CNAME
- Name: www (or @)
- Value: your-service-env-project.suga.app
- Lower TTL (300-600 seconds) for faster updates
CNAME Record Incorrect
CNAME Record Incorrect
- Log into your DNS provider (Cloudflare, Namecheap, GoDaddy, etc.)
- Verify CNAME record exists and is correct
- Should point to your auto-generated Suga domain
- Don’t include
https://in CNAME value - Don’t add trailing dot unless required by provider
TLS Certificate Not Issued
TLS Certificate Not Issued
- Certificate issuance can take 5-15 minutes
- Verify DNS is correctly pointing to Suga
- Clear browser cache and try again
- Check domain in incognito/private window
- Contact support if certificate doesn’t issue within 1 hour
Apex Domain Issues
Apex Domain Issues
- Apex domains require ANAME or ALIAS records (not all DNS providers support)
- Options:
- Use www subdomain instead
- Use DNS provider that supports ANAME/ALIAS (Cloudflare, DNSimple, DNS Made Easy)
- Set up redirect from apex to www
- CNAME records cannot be used for apex domains (DNS limitation)
Resource Issues
Out of Memory (OOMKilled)
Problem: Container crashes withOOMKilled in logs.
Memory Limit Too Low
Memory Limit Too Low
- Increase memory in Config → Resources
- Start with doubling current limit (512 MiB → 1 GiB → 2 GiB)
- Monitor metrics after increase to see actual usage
- Some applications need more memory during startup
- Consider memory requirements of your framework/runtime
Memory Leak
Memory Leak
- Profile your application for memory leaks
- Look for:
- Unclosed database connections
- Event listeners not removed
- Growing caches without limits
- Large objects kept in memory
- Implement connection pooling with max limits
- Add memory limits to in-memory caches
Large Data Processing
Large Data Processing
- Stream large files instead of loading entirely into memory
- Process data in chunks/batches
- Use temporary files for large operations
- Increase memory limit for data-intensive operations
- Consider offloading heavy processing to separate service
High CPU Usage
Problem: CPU usage constantly near 100% or application is slow.Insufficient CPU Allocation
Insufficient CPU Allocation
- Increase CPU in Config → Resources
- Monitor metrics after increase
- Consider horizontal scaling (replicas) for web apps
Inefficient Code
Inefficient Code
- Profile your application to find bottlenecks
- Common issues:
- Synchronous blocking operations
- Inefficient algorithms
- Missing database indexes
- N+1 query problems
- Not using caching
- Optimize hot code paths
- Add caching for expensive operations
High Traffic Volume
High Traffic Volume
- Scale horizontally by increasing replicas
- Config tab → Replicas: 2, 3, or more
- Load balancing happens automatically
- Add caching (Redis) for frequently accessed data
- Optimize database queries
- Consider CDN for static assets
Disk Space Issues
Problem: Application can’t write files or “disk full” errors.No Volume Attached
No Volume Attached
- Services have small ephemeral storage (not persistent)
- Create a Volume and add it to the canvas
- Connect volume to your service
- Set mount path (e.g.,
/data,/app/uploads) - Update your app to write to the mount path
- Redeploy
Volume Full
Volume Full
- Check disk usage in logs:
df -h /data - Delete old or unnecessary files
- Implement log rotation
- Clean up temporary files
- Volume size limits vary by plan—check your dashboard for current limits
Writing to Wrong Location
Writing to Wrong Location
- Verify you’re writing to the mounted volume path
- Example: If volume mounted at
/data, write to/data/file.txt - Don’t write to root filesystem locations unless on volume
- Check volume connection on canvas
- Verify mount path in Config → Volumes
Function-Specific Issues
Function Timeout
Problem: Deno function times out before completing.Operation Takes Too Long
Operation Takes Too Long
- Functions have limited execution time
- Optimize slow operations:
- Use database indexes
- Limit query results
- Cache expensive computations
- Process data in smaller chunks
- For long-running tasks, use a Container service instead
External API Slow
External API Slow
- Set shorter timeouts on external HTTP calls
- Implement retry logic with exponential backoff
- Cache results when possible
- Consider async processing for slow operations
AI Assistant Not Working
Problem: AI assistant for Deno functions not responding or giving errors.Pro Plan Required
Pro Plan Required
- AI assistant is a Pro feature
- Upgrade to Pro plan ($20/user/month)
- Check subscription in Org Settings → Billing
Token Quota Exceeded
Token Quota Exceeded
- Pro plan includes 500K tokens/user/month
- Check usage in Org Settings → Billing
- Wait for next billing cycle for quota reset
- Contact sales for higher limits (Enterprise)
Context Too Large
Context Too Large
- AI has context limits
- Simplify your question
- Break large functions into smaller pieces
- Focus on specific problematic sections
Volume Issues
Can’t Mount Volume
Problem: Volume won’t connect to service or deployment fails with volume error.Multiple Replicas
Multiple Replicas
- Volumes cannot be mounted to services with >1 replica
- Reduce replicas to 1 in Config tab → Replicas
- This is a fundamental limitation (prevents data corruption)
- For scalable apps needing storage, use:
- External database service
- Object storage (S3-compatible)
- Shared filesystem (coming soon)
Already Mounted Elsewhere
Already Mounted Elsewhere
- Each volume can only be mounted to one service
- Disconnect volume from other service first
- Create separate volumes for different services
- Check canvas for existing volume connections
Invalid Mount Path
Invalid Mount Path
- Mount path must be absolute (start with
/) - Don’t use root directories:
/,/etc,/usr,/bin - Use subdirectories:
/data,/app/storage,/var/lib/postgresql/data - Path must not conflict with application directories
Volume Data Lost
Problem: Data in volume disappeared or was reset.Volume Deleted
Volume Deleted
- Deleting a volume permanently deletes data (no recovery)
- Check deployment history to see if volume was deleted
- Restore from backups if available
- Implement regular backup strategy going forward
Writing to Wrong Path
Writing to Wrong Path
- Verify application writes to correct mount path
- Check logs for actual file paths being used
- Data written outside mount path is ephemeral (lost on restart)
- Update application to use mounted volume path
Volume Unmounted
Volume Unmounted
- Check volume is connected on canvas
- Verify mount path in service config
- Check logs for volume mounting errors
- Redeploy to remount volume
Account and Billing Issues
Can’t Log In
Problem: Unable to access Suga dashboard.Incorrect Credentials
Incorrect Credentials
- Verify email address is correct
- Try password reset: Click “Forgot Password”
- Check caps lock is off
- Try different browser or incognito mode
- Clear browser cache and cookies
Account Doesn't Exist
Account Doesn't Exist
- Verify you signed up (check email for confirmation)
- Try signing up again if no confirmation received
- Check spam folder for activation email
- Contact support at [email protected]
SSO Issues (Enterprise)
SSO Issues (Enterprise)
- Contact your organization admin
- Verify SSO configuration in organization settings
- Try using email/password instead (if enabled)
- Contact support for SSO troubleshooting
Billing or Plan Issues
Problem: Issues with subscription, billing, or plan limits.Hitting Plan Limits
Hitting Plan Limits
- Review plan limits in Org Settings → Billing
- Delete unused resources to free up quota
- Upgrade plan for higher limits
Payment Failed
Payment Failed
- Check payment method in Org Settings → Billing
- Verify card is not expired
- Check sufficient funds available
- Update payment method
- Contact support if issue persists: [email protected]
Want to Downgrade
Want to Downgrade
- First reduce resources to fit Hobby limits:
- Max 1 project
- Max 3 environments
- Delete extra resources
- Then request downgrade in Org Settings → Billing
- Or contact [email protected]
Invoice or Receipt Needed
Invoice or Receipt Needed
- Go to Org Settings → Billing → Invoices
- Download PDF invoices for past months
- Invoices include all charges and payment details
- For custom invoices or tax forms, email [email protected]
Getting More Help
If you can’t find a solution here:Discord Community
Email Support
GitHub Issues
What to Include When Asking for Help
To get faster support, include:- Project name and organization name
- Environment name (production, staging, etc.)
- Service name affected
- Complete error messages from logs
- Steps to reproduce the issue
- When it started happening
- What you’ve already tried
- Screenshots if applicable
Debugging Checklist
When troubleshooting, work through this checklist:Test Connections
Review Recent Changes