Files changed (1) hide show
  1. Dockerfile +3 -222
Dockerfile CHANGED
@@ -1,222 +1,3 @@
1
- FROM node:20-bullseye
2
-
3
- # 1. تثبيت متطلبات النظام
4
- RUN apt-get update \
5
- && apt-get install -y --no-install-recommends \
6
- git \
7
- && rm -rf /var/lib/apt/lists/*
8
-
9
- # 2. نسخ ملفات المشروع
10
- WORKDIR /app
11
- COPY package*.json ./
12
- COPY tsconfig.json ./
13
- COPY tsup.config.ts ./
14
- COPY prisma ./prisma/
15
- COPY src ./src/
16
- COPY manager ./manager/
17
-
18
- # 3. تضمين متغيرات البيئة من .env.example
19
- ENV SERVER_TYPE=http
20
- ENV SERVER_PORT=7860
21
- ENV SERVER_URL=https://oex2003-evolution_api.hf.space
22
- ENV SSL_CONF_PRIVKEY=/path/to/cert.key
23
- ENV SSL_CONF_FULLCHAIN=/path/to/cert.crt
24
- ENV SENTRY_DSN=
25
- ENV CORS_ORIGIN=*
26
- ENV CORS_METHODS=GET,POST,PUT,DELETE
27
- ENV CORS_CREDENTIALS=true
28
- ENV LOG_LEVEL=ERROR,WARN,DEBUG,INFO,LOG,VERBOSE,DARK,WEBHOOKS,WEBSOCKET
29
- ENV LOG_COLOR=true
30
- ENV LOG_BAILEYS=verbose
31
- ENV EVENT_EMITTER_MAX_LISTENERS=50
32
- ENV DEL_INSTANCE=false
33
- ENV DATABASE_PROVIDER=postgresql
34
- ENV DATABASE_URL="postgresql://postgres.spnhuzaclgccmmunhmfc:Akalimain000-@aws-0-eu-north-1.pooler.supabase.com:5432/postgres?pgbouncer=true&statement_cache_size=0"
35
- ENV DATABASE_CONNECTION_URI="postgresql://postgres.spnhuzaclgccmmunhmfc:Akalimain000-@aws-0-eu-north-1.pooler.supabase.com:5432/postgres?pgbouncer=true&statement_cache_size=0"
36
- ENV DATABASE_CONNECTION_CLIENT_NAME=evolution_exchange
37
- ENV DATABASE_SAVE_DATA_INSTANCE=true
38
- ENV DATABASE_SAVE_DATA_NEW_MESSAGE=true
39
- ENV DATABASE_SAVE_MESSAGE_UPDATE=true
40
- ENV DATABASE_SAVE_DATA_CONTACTS=true
41
- ENV DATABASE_SAVE_DATA_CHATS=true
42
- ENV DATABASE_SAVE_DATA_LABELS=true
43
- ENV DATABASE_SAVE_DATA_HISTORIC=true
44
- ENV DATABASE_SAVE_IS_ON_WHATSAPP=true
45
- ENV DATABASE_SAVE_IS_ON_WHATSAPP_DAYS=7
46
- ENV DATABASE_DELETE_MESSAGE=true
47
- ENV RABBITMQ_ENABLED=false
48
- ENV RABBITMQ_URI=amqp://localhost
49
- ENV RABBITMQ_EXCHANGE_NAME=evolution
50
- ENV RABBITMQ_FRAME_MAX=8192
51
- ENV RABBITMQ_GLOBAL_ENABLED=false
52
- ENV RABBITMQ_PREFIX_KEY=evolution
53
- ENV RABBITMQ_EVENTS_APPLICATION_STARTUP=false
54
- ENV RABBITMQ_EVENTS_INSTANCE_CREATE=false
55
- ENV RABBITMQ_EVENTS_INSTANCE_DELETE=false
56
- ENV RABBITMQ_EVENTS_QRCODE_UPDATED=false
57
- ENV RABBITMQ_EVENTS_MESSAGES_SET=false
58
- ENV RABBITMQ_EVENTS_MESSAGES_UPSERT=false
59
- ENV RABBITMQ_EVENTS_MESSAGES_EDITED=false
60
- ENV RABBITMQ_EVENTS_MESSAGES_UPDATE=false
61
- ENV RABBITMQ_EVENTS_MESSAGES_DELETE=false
62
- ENV RABBITMQ_EVENTS_SEND_MESSAGE=false
63
- ENV RABBITMQ_EVENTS_SEND_MESSAGE_UPDATE=false
64
- ENV RABBITMQ_EVENTS_CONTACTS_SET=false
65
- ENV RABBITMQ_EVENTS_CONTACTS_UPSERT=false
66
- ENV RABBITMQ_EVENTS_CONTACTS_UPDATE=false
67
- ENV RABBITMQ_EVENTS_PRESENCE_UPDATE=false
68
- ENV RABBITMQ_EVENTS_CHATS_SET=false
69
- ENV RABBITMQ_EVENTS_CHATS_UPSERT=false
70
- ENV RABBITMQ_EVENTS_CHATS_UPDATE=false
71
- ENV RABBITMQ_EVENTS_CHATS_DELETE=false
72
- ENV RABBITMQ_EVENTS_GROUPS_UPSERT=false
73
- ENV RABBITMQ_EVENTS_GROUPS_UPDATE=false
74
- ENV RABBITMQ_EVENTS_GROUP_PARTICIPANTS_UPDATE=false
75
- ENV RABBITMQ_EVENTS_CONNECTION_UPDATE=false
76
- ENV RABBITMQ_EVENTS_REMOVE_INSTANCE=false
77
- ENV RABBITMQ_EVENTS_LOGOUT_INSTANCE=false
78
- ENV RABBITMQ_EVENTS_CALL=false
79
- ENV RABBITMQ_EVENTS_TYPEBOT_START=false
80
- ENV RABBITMQ_EVENTS_TYPEBOT_CHANGE_STATUS=false
81
- ENV SQS_ENABLED=false
82
- ENV SQS_ACCESS_KEY_ID=
83
- ENV SQS_SECRET_ACCESS_KEY=
84
- ENV SQS_ACCOUNT_ID=
85
- ENV SQS_REGION=
86
- ENV WEBSOCKET_ENABLED=true
87
- ENV WEBSOCKET_GLOBAL_EVENTS=true
88
- ENV PUSHER_ENABLED=false
89
- ENV PUSHER_GLOBAL_ENABLED=false
90
- ENV PUSHER_GLOBAL_APP_ID=
91
- ENV PUSHER_GLOBAL_KEY=
92
- ENV PUSHER_GLOBAL_SECRET=
93
- ENV PUSHER_GLOBAL_CLUSTER=
94
- ENV PUSHER_GLOBAL_USE_TLS=true
95
- ENV PUSHER_EVENTS_APPLICATION_STARTUP=true
96
- ENV PUSHER_EVENTS_QRCODE_UPDATED=true
97
- ENV PUSHER_EVENTS_MESSAGES_SET=true
98
- ENV PUSHER_EVENTS_MESSAGES_UPSERT=true
99
- ENV PUSHER_EVENTS_MESSAGES_EDITED=true
100
- ENV PUSHER_EVENTS_MESSAGES_UPDATE=true
101
- ENV PUSHER_EVENTS_MESSAGES_DELETE=true
102
- ENV PUSHER_EVENTS_SEND_MESSAGE=true
103
- ENV PUSHER_EVENTS_SEND_MESSAGE_UPDATE=true
104
- ENV PUSHER_EVENTS_CONTACTS_SET=true
105
- ENV PUSHER_EVENTS_CONTACTS_UPSERT=true
106
- ENV PUSHER_EVENTS_CONTACTS_UPDATE=true
107
- ENV PUSHER_EVENTS_PRESENCE_UPDATE=true
108
- ENV PUSHER_EVENTS_CHATS_SET=true
109
- ENV PUSHER_EVENTS_CHATS_UPSERT=true
110
- ENV PUSHER_EVENTS_CHATS_UPDATE=true
111
- ENV PUSHER_EVENTS_CHATS_DELETE=true
112
- ENV PUSHER_EVENTS_GROUPS_UPSERT=true
113
- ENV PUSHER_EVENTS_GROUPS_UPDATE=true
114
- ENV PUSHER_EVENTS_GROUP_PARTICIPANTS_UPDATE=true
115
- ENV PUSHER_EVENTS_CONNECTION_UPDATE=true
116
- ENV PUSHER_EVENTS_LABELS_EDIT=true
117
- ENV PUSHER_EVENTS_LABELS_ASSOCIATION=true
118
- ENV PUSHER_EVENTS_CALL=true
119
- ENV PUSHER_EVENTS_TYPEBOT_START=false
120
- ENV PUSHER_EVENTS_TYPEBOT_CHANGE_STATUS=false
121
- ENV WA_BUSINESS_TOKEN_WEBHOOK=evolution
122
- ENV WA_BUSINESS_URL=https://graph.facebook.com
123
- ENV WA_BUSINESS_VERSION=v20.0
124
- ENV WA_BUSINESS_LANGUAGE=en_US
125
- ENV WEBHOOK_GLOBAL_ENABLED=false
126
- ENV WEBHOOK_GLOBAL_URL=
127
- ENV WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS=false
128
- ENV WEBHOOK_EVENTS_APPLICATION_STARTUP=false
129
- ENV WEBHOOK_EVENTS_QRCODE_UPDATED=true
130
- ENV WEBHOOK_EVENTS_MESSAGES_SET=true
131
- ENV WEBHOOK_EVENTS_MESSAGES_UPSERT=true
132
- ENV WEBHOOK_EVENTS_MESSAGES_EDITED=true
133
- ENV WEBHOOK_EVENTS_MESSAGES_UPDATE=true
134
- ENV WEBHOOK_EVENTS_MESSAGES_DELETE=true
135
- ENV WEBHOOK_EVENTS_SEND_MESSAGE=true
136
- ENV WEBHOOK_EVENTS_SEND_MESSAGE_UPDATE=true
137
- ENV WEBHOOK_EVENTS_CONTACTS_SET=true
138
- ENV WEBHOOK_EVENTS_CONTACTS_UPSERT=true
139
- ENV WEBHOOK_EVENTS_CONTACTS_UPDATE=true
140
- ENV WEBHOOK_EVENTS_PRESENCE_UPDATE=true
141
- ENV WEBHOOK_EVENTS_CHATS_SET=true
142
- ENV WEBHOOK_EVENTS_CHATS_UPSERT=true
143
- ENV WEBHOOK_EVENTS_CHATS_UPDATE=true
144
- ENV WEBHOOK_EVENTS_CHATS_DELETE=true
145
- ENV WEBHOOK_EVENTS_GROUPS_UPSERT=true
146
- ENV WEBHOOK_EVENTS_GROUPS_UPDATE=true
147
- ENV WEBHOOK_EVENTS_GROUP_PARTICIPANTS_UPDATE=true
148
- ENV WEBHOOK_EVENTS_CONNECTION_UPDATE=true
149
- ENV WEBHOOK_EVENTS_REMOVE_INSTANCE=false
150
- ENV WEBHOOK_EVENTS_LOGOUT_INSTANCE=false
151
- ENV WEBHOOK_EVENTS_LABELS_EDIT=true
152
- ENV WEBHOOK_EVENTS_LABELS_ASSOCIATION=true
153
- ENV WEBHOOK_EVENTS_CALL=true
154
- ENV WEBHOOK_EVENTS_TYPEBOT_START=false
155
- ENV WEBHOOK_EVENTS_TYPEBOT_CHANGE_STATUS=false
156
- ENV WEBHOOK_EVENTS_ERRORS=false
157
- ENV WEBHOOK_EVENTS_ERRORS_WEBHOOK=
158
- ENV WEBHOOK_REQUEST_TIMEOUT_MS=60000
159
- ENV WEBHOOK_RETRY_MAX_ATTEMPTS=10
160
- ENV WEBHOOK_RETRY_INITIAL_DELAY_SECONDS=5
161
- ENV WEBHOOK_RETRY_USE_EXPONENTIAL_BACKOFF=true
162
- ENV WEBHOOK_RETRY_MAX_DELAY_SECONDS=300
163
- ENV WEBHOOK_RETRY_JITTER_FACTOR=0.2
164
- ENV WEBHOOK_RETRY_NON_RETRYABLE_STATUS_CODES=400,401,403,404,422
165
- ENV CONFIG_SESSION_PHONE_NAME=Chrome
166
- ENV CONFIG_SESSION_PHONE_VERSION=2.3000.1023223821
167
- ENV QRCODE_LIMIT=30
168
- ENV QRCODE_COLOR=#000000
169
- ENV TYPEBOT_ENABLED=false
170
- ENV TYPEBOT_API_VERSION=latest
171
- ENV CHATWOOT_ENABLED=false
172
- ENV CHATWOOT_MESSAGE_READ=true
173
- ENV CHATWOOT_MESSAGE_DELETE=true
174
- ENV CHATWOOT_BOT_CONTACT=true
175
- ENV CHATWOOT_IMPORT_DATABASE_CONNECTION_URI=
176
- ENV CHATWOOT_IMPORT_PLACEHOLDER_MEDIA_MESSAGE=true
177
- ENV OPENAI_ENABLED=false
178
- ENV DIFY_ENABLED=false
179
- ENV N8N_ENABLED=false
180
- ENV EVOAI_ENABLED=false
181
- ENV CACHE_REDIS_ENABLED=true
182
- ENV CACHE_REDIS_URI=rediss://default:ARgBAAIjcDE5NjMxODI2NGI1ZWQ0ZWNjOGM5MzZjNGI5MDM2Mjg1MnAxMA@related-ant-6145.upstash.io:6379
183
- ENV CACHE_REDIS_TTL=604800
184
- ENV CACHE_REDIS_PREFIX_KEY=evolution
185
- ENV CACHE_REDIS_SAVE_INSTANCES=true
186
- ENV CACHE_LOCAL_ENABLED=false
187
- ENV S3_ENABLED=false
188
- ENV S3_ACCESS_KEY=
189
- ENV S3_SECRET_KEY=
190
- ENV S3_BUCKET=evolution
191
- ENV S3_PORT=443
192
- ENV S3_ENDPOINT=s3.domain.com
193
- ENV S3_REGION=eu-west-3
194
- ENV S3_USE_SSL=true
195
- ENV AUTHENTICATION_API_KEY=429683C4C977415CAAFCCE10F7D57E11
196
- ENV AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=true
197
- ENV LANGUAGE=en
198
- ENV PROXY_HOST=
199
- #ENV PROXY_PORT=80
200
- ENV PROXY_PROTOCOL=http
201
- ENV PROXY_USERNAME=
202
- ENV PROXY_PASSWORD=""
203
-
204
- # 4. تثبيت، إعداد مخطط Prisma، إنشاء العميل، والبناء
205
- RUN npm install \
206
- && npm install \
207
- && mkdir -p prisma \
208
- && cp prisma/postgresql-schema.prisma prisma/schema.prisma \
209
- && npx prisma generate \
210
- && npm run build
211
-
212
- # 5. كشف منفذ Huggingface ونسخ سكريبت بدء التشغيل
213
- EXPOSE 7860
214
- COPY run.sh /app/run.sh
215
- RUN chmod +x /app/run.sh
216
-
217
- # 6. إصلاح الأذونات والتبديل إلى مستخدم غير جذري
218
- RUN chown -R node:node /app
219
- USER node
220
- WORKDIR /app
221
-
222
- ENTRYPOINT ["bash", "/app/run.sh"]
 
1
+ FROM atendai/evolution-api
2
+ ENV PORT=7860
3
+ EXPOSE 7860