n8nking / Dockerfile
Yking23's picture
Update Dockerfile
b41c3c5 verified
# 1. سحب ملف cloudflared
FROM cloudflare/cloudflared:latest AS cloudflare-agent
# 2. استخدام نسخة n8n المبنية على Debian
FROM n8nio/n8n:latest-debian
USER root
# 3. نقل ملف cloudflared
COPY --from=cloudflare-agent /usr/local/bin/cloudflared /usr/local/bin/cloudflared
RUN chmod +x /usr/local/bin/cloudflared
# 4. حل مشكلة الـ 404 لنسخة Buster
RUN sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list && \
sed -i 's/security.debian.org/archive.debian.org/g' /etc/apt/sources.list && \
sed -i '/buster-updates/d' /etc/apt/sources.list
# 5. تثبيت الحزم
RUN apt-get update && apt-get install -y \
python3 \
python3-pip \
chromium \
chromium-driver \
tini \
&& rm -rf /var/lib/apt/lists/*
# 6. تثبيت Selenium
RUN pip3 install selenium webdriver-manager
# 7. تجهيز فولدر البيانات (مهم جداً)
RUN mkdir -p /home/node/.n8n && chown -R 1000:1000 /home/node/.n8n
# 8. إعدادات البيئة (تعديل المسارات)
ENV N8N_PORT=7860
ENV N8N_PROTOCOL=https
ENV WEBHOOK_URL=https://n8n.n8n..freedynamicdns.org/
ENV N8N_EDITOR_BASE_URL=https://n8n.n8n..freedynamicdns.org/
# شيلنا N8N_CONFIG_FILES وضفنا N8N_USER_FOLDER
ENV N8N_USER_FOLDER=/home/node/.n8n
ENV N8N_USER_ID=1000
USER 1000
# 9. التشغيل
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["/bin/sh", "-c", "cloudflared tunnel --no-autoupdate run --token $CLOUDFLARE_TUNNEL_TOKEN & n8n"]