Home / Documentation / Deployment

Production Deployment

Best practices for deploying Qulaxy in production environments

🚀 Production Checklist

Before deploying to production, ensure you have:

☁️ Cloud Deployment Options

AWS (Amazon Web Services)

Deploy using Amazon ECS or EC2:

Google Cloud Platform

Deploy using Google Cloud Run or GKE:

Azure

Deploy using Azure Container Instances or AKS:

DigitalOcean

Simple and cost-effective deployment:

🐳 Docker Production Setup

Production docker-compose.yml

version: '3.8'

services:
  qulaxy:
    image: qulaxy/test-management:latest
    restart: unless-stopped
    environment:
      - NODE_ENV=production
      - DB_HOST=postgres
      - DB_NAME=qulaxy
      - DB_USER=${DB_USER}
      - DB_PASSWORD=${DB_PASSWORD}
      - REDIS_HOST=redis
      - JWT_SECRET=${JWT_SECRET}
      - APP_URL=${APP_URL}
    ports:
      - "8080:8080"
    depends_on:
      - postgres
      - redis
    volumes:
      - qulaxy-uploads:/app/uploads
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
      interval: 30s
      timeout: 10s
      retries: 3

  postgres:
    image: postgres:15-alpine
    restart: unless-stopped
    environment:
      - POSTGRES_DB=qulaxy
      - POSTGRES_USER=${DB_USER}
      - POSTGRES_PASSWORD=${DB_PASSWORD}
    volumes:
      - postgres-data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${DB_USER}"]
      interval: 10s
      timeout: 5s
      retries: 5

  redis:
    image: redis:7-alpine
    restart: unless-stopped
    volumes:
      - redis-data:/data
    command: redis-server --appendonly yes

  nginx:
    image: nginx:alpine
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
      - ./ssl:/etc/nginx/ssl:ro
    depends_on:
      - qulaxy

volumes:
  postgres-data:
  redis-data:
  qulaxy-uploads:

🔐 SSL/TLS Configuration

Using Let's Encrypt with Nginx

Set up free SSL certificates:

certbot --nginx -d qulaxy.yourcompany.com

📊 Monitoring & Logging

Recommended Tools

💾 Backup Strategy

Database Backups

Automated PostgreSQL backup script:

pg_dump -U qulaxy_user qulaxy > backup_$(date +%Y%m%d).sql
✅ Best Practice: Store backups in a separate location (S3, Google Cloud Storage, etc.) with encryption enabled.

⚡ Performance Optimization

🔗 Next Steps