Ctrl K
ComunidadGuías…

docker-compose.prod.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Production overrides for docker-compose
# Usage: docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d

services:
  postgres:
    # Use stronger password in production
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD:?Database password required in production}
    # Don't expose port externally in production
    ports: []

  redis:
    # Use stronger password in production
    command: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD:?Redis password required in production}
    # Don't expose port externally in production
    ports: []
    healthcheck:
      test: ['CMD', 'redis-cli', '--pass', '${REDIS_PASSWORD}', 'ping']

  minio:
    # Use stronger credentials in production
    environment:
      MINIO_ROOT_USER: ${MINIO_USER:?MinIO user required in production}
      MINIO_ROOT_PASSWORD: ${MINIO_PASSWORD:?MinIO password required in production}
    # Optionally don't expose console in production
    # ports:
    #   - '9000:9000'

  web:
    build:
      target: production
    environment:
      NODE_ENV: production
      DATABASE_URL: postgresql://qastudio:${DB_PASSWORD}@postgres:5432/qastudio
      REDIS_URL: redis://:${REDIS_PASSWORD}@redis:6379
      S3_ENDPOINT: http://minio:9000
      S3_ACCESS_KEY: ${MINIO_USER}
      S3_SECRET_KEY: ${MINIO_PASSWORD}
      SESSION_SECRET: ${SESSION_SECRET:?Session secret required in production}
      # Deployment Mode
      # Defaults to 'true' for production Docker deployments (self-hosted mode)
      # - All features unlocked (AI analysis, advanced reports, integrations)
      # - Unlimited users and projects
      # - No Stripe/payment infrastructure required
      # Set to 'false' ONLY if running as hosted SaaS with payment processing
      # See SELF_HOSTED.md for details
      SELF_HOSTED: ${SELF_HOSTED:-true}
    command: sh -c "npx prisma migrate deploy && node build"
    # Remove volume mounts for production
    volumes: []

  # In production, you might want to disable MailHog
  # and use a real SMTP service instead
  mailhog:
    profiles:
      - debug