FROM searxng/searxng:latest # 1. إجبار متغيرات البيئة على مستوى النظام والحاوية ENV PORT=7860 ENV SEARXNG_PORT=7860 ENV SEARXNG_SETTINGS_PATH=/etc/searxng/settings.yml ENV BIND_ADDRESS=0.0.0.0 USER root # 2. إنشاء الإعدادات وضمان كتابة البورت 7860 داخل الملف RUN mkdir -p /etc/searxng && \ echo "use_default_settings: True" > /etc/searxng/settings.yml && \ echo "server:" >> /etc/searxng/settings.yml && \ echo " port: 7860" >> /etc/searxng/settings.yml && \ echo " bind_address: '0.0.0.0'" >> /etc/searxng/settings.yml && \ echo " secret_key: '$(openssl rand -hex 32)'" >> /etc/searxng/settings.yml && \ echo "general:" >> /etc/searxng/settings.yml && \ echo " instance_name: 'AnesNT Search'" >> /etc/searxng/settings.yml # 3. تعديل صلاحيات الملفات لتجنب تحذيرات الملكية RUN chown -R searxng:searxng /etc/searxng # 4. فتح المنفذ في نظام دوكر EXPOSE 7860 USER searxng # 5. الأمر النهائي: إجبار محرك Granian على العمل على 7860 قسرياً # استخدمنا هنا السكربت الرسمي مع تمرير البورت كمتغير بيئة مباشر CMD ["python3", "-m", "searx.webapp"]