6.2 KiB
Dokploy Deployment Guide - Quantum Tasks AI Website
This guide explains how to deploy the Quantum Tasks AI static website on Dokploy.
Prerequisites
- Dokploy server running and accessible
- Domain name pointed to your Dokploy server
- Git repository with your website code
- Docker and Docker Compose support on Dokploy
Project Structure
quantumtaskai-website/
├── index.html # Main homepage
├── digital-branding.html # Digital branding page
├── css/ # Stylesheets
├── js/ # JavaScript files
├── img/ # Images and assets
├── Dockerfile # Docker configuration
├── docker-compose.yml # Docker Compose configuration
├── dokploy.json # Dokploy-specific configuration
├── .dockerignore # Docker ignore file
└── DOKPLOY-DEPLOYMENT.md # This file
Deployment Files
1. Dockerfile
The Dockerfile uses nginx:alpine to serve the static website with:
- Security headers (X-Frame-Options, X-Content-Type-Options, etc.)
- Optimized caching for static assets (1 year for CSS/JS/images, 1 hour for HTML)
- SPA routing support with fallback to index.html
2. docker-compose.yml
Configured with:
- Traefik labels for automatic SSL and routing
- Health checks
- Production environment settings
- Network configuration for Dokploy
3. dokploy.json
Dokploy-specific configuration including:
- Domain settings with automatic SSL
- Resource limits (256M memory, 0.5 CPU)
- Health check configuration
- Security and monitoring settings
Deployment Steps
Method 1: Git Repository Deployment (Recommended)
-
Push your code to a Git repository (GitHub, GitLab, etc.)
-
Access Dokploy Dashboard
- Open your Dokploy web interface
- Navigate to Applications/Services
-
Create New Application
- Click "Create Application"
- Choose "Compose" as the application type
- Name:
quantumtaskai-website
-
Configure Git Source
- Repository URL:
https://github.com/your-username/quantumtaskai-website.git - Branch:
main(or your main branch) - Build Path:
.(root directory)
- Repository URL:
-
Domain Configuration
- Primary domain:
quantumtaskai.com - Additional domain:
www.quantumtaskai.com(with redirect) - Enable SSL/TLS with Let's Encrypt
- Primary domain:
-
Environment Variables
NODE_ENV=production -
Deploy
- Click "Deploy"
- Monitor build logs
- Wait for deployment completion
Method 2: Direct File Upload
-
Package your files
cd /path/to/quantumtaskai-website tar -czf quantumtaskai-website.tar.gz . -
Upload to Dokploy
- Use Dokploy's file upload feature
- Upload the tar.gz file
- Extract in the application directory
-
Configure and deploy (same as Method 1, steps 5-7)
Post-Deployment Configuration
1. Domain DNS Setup
Point your domain to your Dokploy server:
Type: A
Name: @
Value: YOUR_DOKPLOY_SERVER_IP
Type: A
Name: www
Value: YOUR_DOKPLOY_SERVER_IP
2. SSL Certificate
Dokploy will automatically generate Let's Encrypt certificates for:
quantumtaskai.comwww.quantumtaskai.com
3. Health Checks
The application includes health checks that:
- Check every 30 seconds
- Timeout after 10 seconds
- Retry up to 3 times
- Allow 30 seconds startup time
Monitoring and Maintenance
Application Monitoring
Dokploy provides built-in monitoring for:
- CPU usage
- Memory usage
- Network traffic
- Application health status
Logs
Access application logs through Dokploy dashboard:
- Container logs
- Nginx access logs
- Error logs
Updates and Redeployment
For Git-based deployment:
- Push changes to your Git repository
- Trigger redeploy in Dokploy dashboard
- Monitor deployment progress
For file-based deployment:
- Update files locally
- Create new package:
tar -czf update.tar.gz . - Upload and redeploy through Dokploy
Troubleshooting
Common Issues
1. Build Failures
- Check Docker build logs in Dokploy
- Verify all files are present
- Check .dockerignore isn't excluding necessary files
2. SSL Certificate Issues
- Ensure domain DNS is pointing to Dokploy server
- Wait 5-10 minutes for DNS propagation
- Check Let's Encrypt rate limits
3. Application Not Accessible
- Verify port 80 and 443 are open on Dokploy server
- Check domain configuration in Dokploy
- Verify container is running and healthy
4. Static Files Not Loading
- Check nginx configuration in Dockerfile
- Verify file paths in HTML are correct
- Check browser developer tools for 404 errors
Debug Commands
Check container status:
docker ps | grep quantumtaskai-website
View container logs:
docker logs quantumtaskai-website
Test container locally:
docker build -t quantumtaskai-website .
docker run -p 8080:80 quantumtaskai-website
Performance Optimization
Caching Strategy
The nginx configuration implements:
- 1 year cache for static assets (CSS, JS, images)
- 1 hour cache for HTML files
- Proper cache headers for SEO
Resource Usage
- Memory limit: 256MB
- CPU limit: 0.5 cores
- Suitable for static website with moderate traffic
Scaling
For higher traffic:
- Increase resource limits in
dokploy.json - Consider using CDN for static assets
- Enable Dokploy's load balancing features
Security Features
Built-in Security Headers
- X-Frame-Options: SAMEORIGIN
- X-Content-Type-Options: nosniff
- X-XSS-Protection: 1; mode=block
SSL/TLS
- Automatic HTTPS redirect
- Strong cipher suites
- HTTP/2 support
Network Security
- Container isolated in Docker network
- Only necessary ports exposed (80, 443)
- Firewall rules configured
Backup Strategy
The static website doesn't require database backups, but consider:
- Regular Git repository backups
- Dokploy configuration export
- Domain and SSL certificate documentation
Support
For issues with:
- Dokploy Platform: Check Dokploy documentation
- Website Content: Review HTML/CSS/JS files
- Domain/SSL: Contact your domain registrar
- Server Issues: Check with your hosting provider
Your Quantum Tasks AI website should now be successfully deployed on Dokploy with automatic SSL, monitoring, and optimized performance!