# Base image: Python 3.12 + Node.js 20 FROM nikolaik/python-nodejs:python3.12-nodejs20 # Environment Variables ENV VIRTUAL_ENV=/venv \ PATH="/venv/bin:$PATH" \ N8N_HOST=0.0.0.0 \ N8N_PORT=7860 \ N8N_RUNNERS_ENABLED=true \ WEBHOOK_URL=https://r1000-nai.hf.space \ GENERIC_TIMEZONE=Asia/Bangkok \ NODES_EXCLUDE="[]" # Install base packages + Docker CLI (correct method) RUN apt-get update && apt-get install -y --no-install-recommends \ bash sudo curl wget git w3m gnupg tzdata poppler-utils fontconfig \ unzip \ libglib2.0-0 \ libnss3 \ libfontconfig1 \ libxcomposite1 \ libxcursor1 \ libxdamage1 \ libxext6 \ libxfixes3 \ libxi6 \ libxrandr2 \ libxrender1 \ libxss1 \ libxtst6 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libpangocairo-1.0-0 \ libgtk-3-0 \ libgbm-dev \ libasound2 \ libsecret-1-0 \ \ # Create Python virtual environment && python3 -m venv $VIRTUAL_ENV \ && $VIRTUAL_ENV/bin/pip install --no-cache-dir --upgrade pip \ \ # Install Playwright && $VIRTUAL_ENV/bin/pip install --no-cache-dir playwright \ && $VIRTUAL_ENV/bin/python -m playwright install \ \ # Install n8n && npm install -g n8n@beta \ \ # Clean up && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ && npm cache clean --force WORKDIR /data EXPOSE 7860 VOLUME ["/data/.n8n"] CMD ["n8n"]