services: api: build: context: . dockerfile: Dockerfile args: - VITE_FARO_ENABLED=${VITE_FARO_ENABLED:-false} - VITE_FARO_COLLECTOR_URL=${VITE_FARO_COLLECTOR_URL:-} - VITE_POSTHOG_KEY=${VITE_POSTHOG_KEY:-} environment: - NODE_ENV=production - PORT=4000 - DATABASE_URL=${DATABASE_URL} - REDIS_HOST=sase-redis - REDIS_PORT=6379 - REDIS_PASSWORD=${REDIS_PASSWORD} - BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET} - BETTER_AUTH_URL=${BETTER_AUTH_URL} - GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-} - GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET:-} - MINIO_ENDPOINT=http://minio-global:9000 - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY} - MINIO_SECRET_KEY=${MINIO_SECRET_KEY} - MINIO_BUCKET_NAME=${MINIO_BUCKET_NAME:-sase-schemas} - MINIO_PUBLIC_URL=${MINIO_PUBLIC_URL} - MINIO_USE_SSL=false - CORS_ORIGIN=${CORS_ORIGIN} - STRIPE_SECRET_KEY=${STRIPE_SECRET_KEY:-} - STRIPE_PUBLISHABLE_KEY=${STRIPE_PUBLISHABLE_KEY:-} - PL24_BASE_URL=${PL24_BASE_URL:-https://www.partslink24.com} - PL24_COMPANY_CODE=${PL24_COMPANY_CODE:-} - PL24_USERNAME=${PL24_USERNAME:-} - PL24_PASSWORD=${PL24_PASSWORD:-} - PL24_COMPANY_CODE_2=${PL24_COMPANY_CODE_2:-} - PL24_USERNAME_2=${PL24_USERNAME_2:-} - PL24_PASSWORD_2=${PL24_PASSWORD_2:-} - PL24_PROXY_DE=${PL24_PROXY_DE:-} - EMEX_USERNAME=${EMEX_USERNAME:-} - EMEX_PASSWORD=${EMEX_PASSWORD:-} - EMEX_USE_PROXY=${EMEX_USE_PROXY:-false} - EMEX_PROXY_HOST=${EMEX_PROXY_HOST:-74.81.81.81} - EMEX_PROXY_USER=${EMEX_PROXY_USER:-1726bbe361918676d44e} - EMEX_PROXY_PASS=${EMEX_PROXY_PASS:-f11c7b6128cc86c6} - PCAT_USE_PROXY=${PCAT_USE_PROXY:-true} - PCAT_PROXY_HOST=${PCAT_PROXY_HOST:-gw.dataimpulse.com} - PCAT_PROXY_USER=${PCAT_PROXY_USER:-} - PCAT_PROXY_PASS=${PCAT_PROXY_PASS:-} - POSTAL_API_URL=${POSTAL_API_URL:-} - POSTAL_API_KEY=${POSTAL_API_KEY:-} - POSTAL_FROM_ADDRESS=${POSTAL_FROM_ADDRESS:-noreply@sase.tr} - POSTAL_FROM_NAME=${POSTAL_FROM_NAME:-Sase.tr} - OTEL_ENABLED=${OTEL_ENABLED:-false} - OTEL_EXPORTER_OTLP_ENDPOINT=${OTEL_EXPORTER_OTLP_ENDPOINT:-} - OTEL_EXPORTER_OTLP_HEADERS=${OTEL_EXPORTER_OTLP_HEADERS:-} - OTEL_SERVICE_NAME=${OTEL_SERVICE_NAME:-sase-api} - OTEL_TRACE_SAMPLE_RATE=${OTEL_TRACE_SAMPLE_RATE:-1.0} - ML_PREDICTION_ENABLED=${ML_PREDICTION_ENABLED:-false} depends_on: sase-redis: condition: service_healthy healthcheck: test: ["CMD", "wget", "-qO-", "http://127.0.0.1:4000/api/health"] interval: 15s timeout: 5s retries: 5 start_period: 30s labels: - "traefik.docker.network=coolify" expose: - "4000" networks: - default - coolify worker: build: context: . dockerfile: Dockerfile command: ["node", "--enable-source-maps", "apps/api/dist/worker.js"] environment: - NODE_ENV=production - DATABASE_URL=${DATABASE_URL} - REDIS_HOST=sase-redis - REDIS_PORT=6379 - REDIS_PASSWORD=${REDIS_PASSWORD} - MINIO_ENDPOINT=http://minio-global:9000 - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY} - MINIO_SECRET_KEY=${MINIO_SECRET_KEY} - MINIO_BUCKET_NAME=${MINIO_BUCKET_NAME:-sase-schemas} - MINIO_PUBLIC_URL=${MINIO_PUBLIC_URL} - MINIO_USE_SSL=false - PL24_BASE_URL=${PL24_BASE_URL:-https://www.partslink24.com} - PL24_COMPANY_CODE=${PL24_COMPANY_CODE:-} - PL24_USERNAME=${PL24_USERNAME:-} - PL24_PASSWORD=${PL24_PASSWORD:-} - PL24_COMPANY_CODE_2=${PL24_COMPANY_CODE_2:-} - PL24_USERNAME_2=${PL24_USERNAME_2:-} - PL24_PASSWORD_2=${PL24_PASSWORD_2:-} - PL24_PROXY_DE=${PL24_PROXY_DE:-} - EMEX_USERNAME=${EMEX_USERNAME:-} - EMEX_PASSWORD=${EMEX_PASSWORD:-} - EMEX_USE_PROXY=${EMEX_USE_PROXY:-false} - EMEX_PROXY_HOST=${EMEX_PROXY_HOST:-74.81.81.81} - EMEX_PROXY_USER=${EMEX_PROXY_USER:-1726bbe361918676d44e} - EMEX_PROXY_PASS=${EMEX_PROXY_PASS:-f11c7b6128cc86c6} - PCAT_USE_PROXY=${PCAT_USE_PROXY:-true} - PCAT_PROXY_HOST=${PCAT_PROXY_HOST:-gw.dataimpulse.com} - PCAT_PROXY_USER=${PCAT_PROXY_USER:-} - PCAT_PROXY_PASS=${PCAT_PROXY_PASS:-} - OTEL_ENABLED=${OTEL_ENABLED:-false} - OTEL_EXPORTER_OTLP_ENDPOINT=${OTEL_EXPORTER_OTLP_ENDPOINT:-} - OTEL_EXPORTER_OTLP_HEADERS=${OTEL_EXPORTER_OTLP_HEADERS:-} - OTEL_SERVICE_NAME=${OTEL_SERVICE_NAME:-sase-worker} - OTEL_TRACE_SAMPLE_RATE=${OTEL_TRACE_SAMPLE_RATE:-1.0} depends_on: sase-redis: condition: service_healthy networks: - default - coolify sase-redis: image: redis:7.4-alpine command: redis-server --requirepass ${REDIS_PASSWORD} volumes: - redis_data:/data healthcheck: test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD}", "ping"] interval: 10s timeout: 5s retries: 5 networks: - default volumes: redis_data: networks: coolify: external: true