Spaces:
Runtime error
Runtime error
| FROM node:20-bullseye | |
| # 1. تثبيت متطلبات النظام | |
| RUN apt-get update \ | |
| && apt-get install -y --no-install-recommends \ | |
| git \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # 2. نسخ ملفات المشروع | |
| WORKDIR /app | |
| COPY package*.json ./ | |
| COPY tsconfig.json ./ | |
| COPY tsup.config.ts ./ | |
| COPY prisma ./prisma/ | |
| COPY src ./src/ | |
| COPY manager ./manager/ | |
| # 3. تضمين متغيرات البيئة من .env.example | |
| ENV SERVER_TYPE=http | |
| ENV SERVER_PORT=7860 | |
| ENV SERVER_URL=https://oex2003-evolution_api.hf.space | |
| ENV SSL_CONF_PRIVKEY=/path/to/cert.key | |
| ENV SSL_CONF_FULLCHAIN=/path/to/cert.crt | |
| ENV SENTRY_DSN= | |
| ENV CORS_ORIGIN=* | |
| ENV CORS_METHODS=GET,POST,PUT,DELETE | |
| ENV CORS_CREDENTIALS=true | |
| ENV LOG_LEVEL=ERROR,WARN,DEBUG,INFO,LOG,VERBOSE,DARK,WEBHOOKS,WEBSOCKET | |
| ENV LOG_COLOR=true | |
| ENV LOG_BAILEYS=verbose | |
| ENV EVENT_EMITTER_MAX_LISTENERS=50 | |
| ENV DEL_INSTANCE=false | |
| ENV DATABASE_PROVIDER=postgresql | |
| ENV DATABASE_URL="postgresql://postgres.spnhuzaclgccmmunhmfc:Akalimain000-@aws-0-eu-north-1.pooler.supabase.com:5432/postgres?pgbouncer=true&statement_cache_size=0" | |
| ENV DATABASE_CONNECTION_URI="postgresql://postgres.spnhuzaclgccmmunhmfc:Akalimain000-@aws-0-eu-north-1.pooler.supabase.com:5432/postgres?pgbouncer=true&statement_cache_size=0" | |
| ENV DATABASE_CONNECTION_CLIENT_NAME=evolution_exchange | |
| ENV DATABASE_SAVE_DATA_INSTANCE=true | |
| ENV DATABASE_SAVE_DATA_NEW_MESSAGE=true | |
| ENV DATABASE_SAVE_MESSAGE_UPDATE=true | |
| ENV DATABASE_SAVE_DATA_CONTACTS=true | |
| ENV DATABASE_SAVE_DATA_CHATS=true | |
| ENV DATABASE_SAVE_DATA_LABELS=true | |
| ENV DATABASE_SAVE_DATA_HISTORIC=true | |
| ENV DATABASE_SAVE_IS_ON_WHATSAPP=true | |
| ENV DATABASE_SAVE_IS_ON_WHATSAPP_DAYS=7 | |
| ENV DATABASE_DELETE_MESSAGE=true | |
| ENV RABBITMQ_ENABLED=false | |
| ENV RABBITMQ_URI=amqp://localhost | |
| ENV RABBITMQ_EXCHANGE_NAME=evolution | |
| ENV RABBITMQ_FRAME_MAX=8192 | |
| ENV RABBITMQ_GLOBAL_ENABLED=false | |
| ENV RABBITMQ_PREFIX_KEY=evolution | |
| ENV RABBITMQ_EVENTS_APPLICATION_STARTUP=false | |
| ENV RABBITMQ_EVENTS_INSTANCE_CREATE=false | |
| ENV RABBITMQ_EVENTS_INSTANCE_DELETE=false | |
| ENV RABBITMQ_EVENTS_QRCODE_UPDATED=false | |
| ENV RABBITMQ_EVENTS_MESSAGES_SET=false | |
| ENV RABBITMQ_EVENTS_MESSAGES_UPSERT=false | |
| ENV RABBITMQ_EVENTS_MESSAGES_EDITED=false | |
| ENV RABBITMQ_EVENTS_MESSAGES_UPDATE=false | |
| ENV RABBITMQ_EVENTS_MESSAGES_DELETE=false | |
| ENV RABBITMQ_EVENTS_SEND_MESSAGE=false | |
| ENV RABBITMQ_EVENTS_SEND_MESSAGE_UPDATE=false | |
| ENV RABBITMQ_EVENTS_CONTACTS_SET=false | |
| ENV RABBITMQ_EVENTS_CONTACTS_UPSERT=false | |
| ENV RABBITMQ_EVENTS_CONTACTS_UPDATE=false | |
| ENV RABBITMQ_EVENTS_PRESENCE_UPDATE=false | |
| ENV RABBITMQ_EVENTS_CHATS_SET=false | |
| ENV RABBITMQ_EVENTS_CHATS_UPSERT=false | |
| ENV RABBITMQ_EVENTS_CHATS_UPDATE=false | |
| ENV RABBITMQ_EVENTS_CHATS_DELETE=false | |
| ENV RABBITMQ_EVENTS_GROUPS_UPSERT=false | |
| ENV RABBITMQ_EVENTS_GROUPS_UPDATE=false | |
| ENV RABBITMQ_EVENTS_GROUP_PARTICIPANTS_UPDATE=false | |
| ENV RABBITMQ_EVENTS_CONNECTION_UPDATE=false | |
| ENV RABBITMQ_EVENTS_REMOVE_INSTANCE=false | |
| ENV RABBITMQ_EVENTS_LOGOUT_INSTANCE=false | |
| ENV RABBITMQ_EVENTS_CALL=false | |
| ENV RABBITMQ_EVENTS_TYPEBOT_START=false | |
| ENV RABBITMQ_EVENTS_TYPEBOT_CHANGE_STATUS=false | |
| ENV SQS_ENABLED=false | |
| ENV SQS_ACCESS_KEY_ID= | |
| ENV SQS_SECRET_ACCESS_KEY= | |
| ENV SQS_ACCOUNT_ID= | |
| ENV SQS_REGION= | |
| ENV WEBSOCKET_ENABLED=true | |
| ENV WEBSOCKET_GLOBAL_EVENTS=true | |
| ENV PUSHER_ENABLED=false | |
| ENV PUSHER_GLOBAL_ENABLED=false | |
| ENV PUSHER_GLOBAL_APP_ID= | |
| ENV PUSHER_GLOBAL_KEY= | |
| ENV PUSHER_GLOBAL_SECRET= | |
| ENV PUSHER_GLOBAL_CLUSTER= | |
| ENV PUSHER_GLOBAL_USE_TLS=true | |
| ENV PUSHER_EVENTS_APPLICATION_STARTUP=true | |
| ENV PUSHER_EVENTS_QRCODE_UPDATED=true | |
| ENV PUSHER_EVENTS_MESSAGES_SET=true | |
| ENV PUSHER_EVENTS_MESSAGES_UPSERT=true | |
| ENV PUSHER_EVENTS_MESSAGES_EDITED=true | |
| ENV PUSHER_EVENTS_MESSAGES_UPDATE=true | |
| ENV PUSHER_EVENTS_MESSAGES_DELETE=true | |
| ENV PUSHER_EVENTS_SEND_MESSAGE=true | |
| ENV PUSHER_EVENTS_SEND_MESSAGE_UPDATE=true | |
| ENV PUSHER_EVENTS_CONTACTS_SET=true | |
| ENV PUSHER_EVENTS_CONTACTS_UPSERT=true | |
| ENV PUSHER_EVENTS_CONTACTS_UPDATE=true | |
| ENV PUSHER_EVENTS_PRESENCE_UPDATE=true | |
| ENV PUSHER_EVENTS_CHATS_SET=true | |
| ENV PUSHER_EVENTS_CHATS_UPSERT=true | |
| ENV PUSHER_EVENTS_CHATS_UPDATE=true | |
| ENV PUSHER_EVENTS_CHATS_DELETE=true | |
| ENV PUSHER_EVENTS_GROUPS_UPSERT=true | |
| ENV PUSHER_EVENTS_GROUPS_UPDATE=true | |
| ENV PUSHER_EVENTS_GROUP_PARTICIPANTS_UPDATE=true | |
| ENV PUSHER_EVENTS_CONNECTION_UPDATE=true | |
| ENV PUSHER_EVENTS_LABELS_EDIT=true | |
| ENV PUSHER_EVENTS_LABELS_ASSOCIATION=true | |
| ENV PUSHER_EVENTS_CALL=true | |
| ENV PUSHER_EVENTS_TYPEBOT_START=false | |
| ENV PUSHER_EVENTS_TYPEBOT_CHANGE_STATUS=false | |
| ENV WA_BUSINESS_TOKEN_WEBHOOK=evolution | |
| ENV WA_BUSINESS_URL=https://graph.facebook.com | |
| ENV WA_BUSINESS_VERSION=v20.0 | |
| ENV WA_BUSINESS_LANGUAGE=en_US | |
| ENV WEBHOOK_GLOBAL_ENABLED=false | |
| ENV WEBHOOK_GLOBAL_URL= | |
| ENV WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS=false | |
| ENV WEBHOOK_EVENTS_APPLICATION_STARTUP=false | |
| ENV WEBHOOK_EVENTS_QRCODE_UPDATED=true | |
| ENV WEBHOOK_EVENTS_MESSAGES_SET=true | |
| ENV WEBHOOK_EVENTS_MESSAGES_UPSERT=true | |
| ENV WEBHOOK_EVENTS_MESSAGES_EDITED=true | |
| ENV WEBHOOK_EVENTS_MESSAGES_UPDATE=true | |
| ENV WEBHOOK_EVENTS_MESSAGES_DELETE=true | |
| ENV WEBHOOK_EVENTS_SEND_MESSAGE=true | |
| ENV WEBHOOK_EVENTS_SEND_MESSAGE_UPDATE=true | |
| ENV WEBHOOK_EVENTS_CONTACTS_SET=true | |
| ENV WEBHOOK_EVENTS_CONTACTS_UPSERT=true | |
| ENV WEBHOOK_EVENTS_CONTACTS_UPDATE=true | |
| ENV WEBHOOK_EVENTS_PRESENCE_UPDATE=true | |
| ENV WEBHOOK_EVENTS_CHATS_SET=true | |
| ENV WEBHOOK_EVENTS_CHATS_UPSERT=true | |
| ENV WEBHOOK_EVENTS_CHATS_UPDATE=true | |
| ENV WEBHOOK_EVENTS_CHATS_DELETE=true | |
| ENV WEBHOOK_EVENTS_GROUPS_UPSERT=true | |
| ENV WEBHOOK_EVENTS_GROUPS_UPDATE=true | |
| ENV WEBHOOK_EVENTS_GROUP_PARTICIPANTS_UPDATE=true | |
| ENV WEBHOOK_EVENTS_CONNECTION_UPDATE=true | |
| ENV WEBHOOK_EVENTS_REMOVE_INSTANCE=false | |
| ENV WEBHOOK_EVENTS_LOGOUT_INSTANCE=false | |
| ENV WEBHOOK_EVENTS_LABELS_EDIT=true | |
| ENV WEBHOOK_EVENTS_LABELS_ASSOCIATION=true | |
| ENV WEBHOOK_EVENTS_CALL=true | |
| ENV WEBHOOK_EVENTS_TYPEBOT_START=false | |
| ENV WEBHOOK_EVENTS_TYPEBOT_CHANGE_STATUS=false | |
| ENV WEBHOOK_EVENTS_ERRORS=false | |
| ENV WEBHOOK_EVENTS_ERRORS_WEBHOOK= | |
| ENV WEBHOOK_REQUEST_TIMEOUT_MS=60000 | |
| ENV WEBHOOK_RETRY_MAX_ATTEMPTS=10 | |
| ENV WEBHOOK_RETRY_INITIAL_DELAY_SECONDS=5 | |
| ENV WEBHOOK_RETRY_USE_EXPONENTIAL_BACKOFF=true | |
| ENV WEBHOOK_RETRY_MAX_DELAY_SECONDS=300 | |
| ENV WEBHOOK_RETRY_JITTER_FACTOR=0.2 | |
| ENV WEBHOOK_RETRY_NON_RETRYABLE_STATUS_CODES=400,401,403,404,422 | |
| ENV CONFIG_SESSION_PHONE_NAME=Chrome | |
| ENV CONFIG_SESSION_PHONE_VERSION=2.3000.1023223821 | |
| ENV QRCODE_LIMIT=30 | |
| ENV QRCODE_COLOR=#000000 | |
| ENV TYPEBOT_ENABLED=false | |
| ENV TYPEBOT_API_VERSION=latest | |
| ENV CHATWOOT_ENABLED=false | |
| ENV CHATWOOT_MESSAGE_READ=true | |
| ENV CHATWOOT_MESSAGE_DELETE=true | |
| ENV CHATWOOT_BOT_CONTACT=true | |
| ENV CHATWOOT_IMPORT_DATABASE_CONNECTION_URI= | |
| ENV CHATWOOT_IMPORT_PLACEHOLDER_MEDIA_MESSAGE=true | |
| ENV OPENAI_ENABLED=false | |
| ENV DIFY_ENABLED=false | |
| ENV N8N_ENABLED=false | |
| ENV EVOAI_ENABLED=false | |
| ENV CACHE_REDIS_ENABLED=true | |
| ENV CACHE_REDIS_URI=rediss://default:ARgBAAIjcDE5NjMxODI2NGI1ZWQ0ZWNjOGM5MzZjNGI5MDM2Mjg1MnAxMA@related-ant-6145.upstash.io:6379 | |
| ENV CACHE_REDIS_TTL=604800 | |
| ENV CACHE_REDIS_PREFIX_KEY=evolution | |
| ENV CACHE_REDIS_SAVE_INSTANCES=true | |
| ENV CACHE_LOCAL_ENABLED=false | |
| ENV S3_ENABLED=false | |
| ENV S3_ACCESS_KEY= | |
| ENV S3_SECRET_KEY= | |
| ENV S3_BUCKET=evolution | |
| ENV S3_PORT=443 | |
| ENV S3_ENDPOINT=s3.domain.com | |
| ENV S3_REGION=eu-west-3 | |
| ENV S3_USE_SSL=true | |
| ENV AUTHENTICATION_API_KEY=429683C4C977415CAAFCCE10F7D57E11 | |
| ENV AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=true | |
| ENV LANGUAGE=en | |
| ENV PROXY_HOST= | |
| #ENV PROXY_PORT=80 | |
| ENV PROXY_PROTOCOL=http | |
| ENV PROXY_USERNAME= | |
| ENV PROXY_PASSWORD="" | |
| # 4. تثبيت، إعداد مخطط Prisma، إنشاء العميل، والبناء | |
| RUN npm install \ | |
| && npm install \ | |
| && mkdir -p prisma \ | |
| && cp prisma/postgresql-schema.prisma prisma/schema.prisma \ | |
| && npx prisma generate \ | |
| && npm run build | |
| # 5. كشف منفذ Huggingface ونسخ سكريبت بدء التشغيل | |
| EXPOSE 7860 | |
| COPY run.sh /app/run.sh | |
| RUN chmod +x /app/run.sh | |
| # 6. إصلاح الأذونات والتبديل إلى مستخدم غير جذري | |
| RUN chown -R node:node /app | |
| USER node | |
| WORKDIR /app | |
| ENTRYPOINT ["bash", "/app/run.sh"] |