mirror of
https://github.com/thecyberlearn/quantumtaskai-caprover.git
synced 2026-08-18 16:32:55 +00:00
- Add docker-compose.yml for Dokploy deployment - Add Dockerfile optimized for production - Add nginx.conf for SSL and reverse proxy - Update Django settings for ai.quantumtaskai.com domain - Add Neon database configuration - Add deployment guides and environment generators - Remove CapRover specific files
5.5 KiB
5.5 KiB
Dokploy Deployment Guide for Quantum Tasks AI
Deploy Quantum Tasks AI to ai.quantumtaskai.com using Dokploy with PostgreSQL database.
🚀 Quick Deployment Steps
1. Prerequisites
- Dokploy server installed and running
- Domain
ai.quantumtaskai.compointing to your Dokploy server - SSL certificate for the domain (Dokploy can handle Let's Encrypt automatically)
2. Create New Project in Dokploy
- Log into your Dokploy dashboard
- Click "Create New Project"
- Choose "Compose" deployment type
- Name:
quantumtasks-ai - Repository: Connect your Git repository
3. Upload Configuration Files
Make sure these files are in your repository root:
- ✅
docker-compose.yml(created) - ✅
Dockerfile(created) - ✅
nginx.conf(created) - ✅
.env.dokploy(template created)
4. Environment Configuration
In Dokploy, set these environment variables:
Essential Variables (Required)
# Django Core
SECRET_KEY=your-super-secret-key-here-50-chars-minimum
DEBUG=false
ALLOWED_HOSTS=ai.quantumtaskai.com,*.quantumtaskai.com
CSRF_TRUSTED_ORIGINS=https://ai.quantumtaskai.com
# Database
POSTGRES_DB=quantumtasks_ai
POSTGRES_PASSWORD=your-strong-postgres-password
DATABASE_URL=postgresql://postgres:your-password@db:5432/quantumtasks_ai
# Email (Required for user verification)
EMAIL_HOST_USER=your-email@gmail.com
EMAIL_HOST_PASSWORD=your-gmail-app-password
Optional Variables (Recommended)
# Payment Processing
STRIPE_SECRET_KEY=sk_live_your_stripe_key
# AI APIs
OPENAI_API_KEY=sk-your_openai_key
GROQ_API_KEY=gsk_your_groq_key
SERPAPI_API_KEY=your_serpapi_key
# Weather API
OPENWEATHER_API_KEY=your_weather_key
5. Domain Configuration
-
In Dokploy project settings:
- Domain:
ai.quantumtaskai.com - SSL: Enable (Let's Encrypt)
- Port: 80 (nginx will handle SSL redirect)
- Domain:
-
DNS Setup:
A ai.quantumtaskai.com -> YOUR_DOKPLOY_SERVER_IP
6. Deploy
- Click "Deploy" in Dokploy dashboard
- Monitor the build process
- Wait for all services to be healthy
🏗️ Architecture Overview
Internet -> Nginx (SSL/Proxy) -> Django App -> PostgreSQL
Services:
- nginx: Reverse proxy with SSL termination, static files serving
- web: Django application (Gunicorn)
- db: PostgreSQL 15 database
Volumes:
postgres_data: Database persistencestatic_volume: Static files (CSS, JS, images)media_volume: User uploaded files
🔧 Post-Deployment Tasks
1. Database Initialization
# Access your Dokploy server and run:
docker exec -it quantumtasks-ai_web_1 python manage.py migrate
docker exec -it quantumtasks-ai_web_1 python manage.py createsuperuser
2. Collect Static Files (if needed)
docker exec -it quantumtasks-ai_web_1 python manage.py collectstatic --noinput
3. Test the Deployment
- Visit: https://ai.quantumtaskai.com/health/
- Expected response:
{"status": "healthy", ...}
🔍 Monitoring & Troubleshooting
Health Checks
- Application: https://ai.quantumtaskai.com/health/
- Admin Panel: https://ai.quantumtaskai.com/admin/
Log Access
# View application logs
docker logs quantumtasks-ai_web_1 -f
# View database logs
docker logs quantumtasks-ai_db_1 -f
# View nginx logs
docker logs quantumtasks-ai_nginx_1 -f
Common Issues
SSL Certificate Issues
- Ensure domain is correctly pointing to server
- Check Dokploy SSL configuration
- Verify Let's Encrypt rate limits
Database Connection Issues
- Check PostgreSQL logs
- Verify DATABASE_URL format
- Ensure database container is healthy
Static Files Not Loading
- Check nginx configuration
- Verify static volume mounting
- Run collectstatic if needed
🔐 Security Features
- HTTPS Only: Automatic HTTP to HTTPS redirect
- Security Headers: XSS, CSRF, Content-Type protection
- Rate Limiting: API and web request throttling
- Database Security: Isolated database container
- Secrets Management: Environment variables only
📊 Performance Features
- Nginx Caching: Static files cached for 1 year
- Gzip Compression: Text content compressed
- Database Connection Pooling: Optimized DB connections
- Health Checks: Automatic service monitoring
🔄 Updates & Maintenance
Updating the Application
- Push code changes to your Git repository
- In Dokploy dashboard, click "Redeploy"
- Monitor deployment process
Database Backups
# Create backup
docker exec quantumtasks-ai_db_1 pg_dump -U postgres quantumtasks_ai > backup.sql
# Restore backup
docker exec -i quantumtasks-ai_db_1 psql -U postgres quantumtasks_ai < backup.sql
Scaling
- Horizontal: Add more web service replicas in docker-compose.yml
- Vertical: Increase container resource limits in Dokploy
🌟 Production Checklist
Before going live:
- Set strong SECRET_KEY (50+ random characters)
- Configure email settings (Gmail App Password recommended)
- Set up Stripe payment keys (live keys for production)
- Configure AI API keys (OpenAI, Groq, etc.)
- Test all core functionality
- Set up database backups
- Monitor error logs
- Configure domain SSL certificate
📞 Support
If you encounter issues:
- Check application logs first
- Verify environment variables
- Test database connectivity
- Check domain DNS settings
- Review nginx configuration
Deployment Target: https://ai.quantumtaskai.com Last Updated: 2025-09-06 Status: Ready for Production