Spaces:
Runtime error
Runtime error
File size: 7,869 Bytes
5e518ea e8306c7 5e518ea e8306c7 5e518ea |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 |
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"] |