FROM node:20-bullseye ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium WORKDIR /app RUN npm install -g npm # Install global tools RUN npm install -g n8n # Install puppeteer and sqlite3 for Node.js RUN npm install puppeteer sqlite3 # Install CLI tools RUN apt-get update && apt-get install -y \ ca-certificates fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 libatk1.0-0 libcups2 \ libdbus-1-3 libdrm2 libgbm1 libgtk-3-0 libnspr4 libnss3 libx11-xcb1 libxcomposite1 libxdamage1 \ libxrandr2 xdg-utils wget curl python3 python3-pip python3-venv unzip sqlite3 chromium --no-install-recommends \ && rm -rf /var/lib/apt/lists/* # Install Python tools RUN python3 -m pip install --no-cache-dir --upgrade pip \ && pip3 install --no-cache-dir selenium playwright requests beautifulsoup4 RUN playwright install chromium EXPOSE 7860 ENV PORT=7860 ENV N8N_HOST=0.0.0.0 ENV N8N_PORT=7860 ENV N8N_RUNNERS_ENABLED=true ENV N8N_PROTOCOL=https ENV N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=false #ENV N8N_DEFAULT_EXECUTIONS_MODE=queue CMD ["n8n"]