| FROM node:22-bullseye
|
|
|
| User root
|
|
|
| WORKDIR /app
|
|
|
|
|
| RUN apt-get update \
|
| && apt-get install -y --no-install-recommends \
|
| python3 python3-pip curl git wget make g++ \
|
| chromium ffmpeg tini \
|
| libgtk-3-0 libxtst6 libxcomposite1 libxrandr2 \
|
| libnss3 libatk-bridge2.0-0 libgbm1 libasound2 libxss1 \
|
| ca-certificates fonts-liberation \
|
| libatk1.0-0 \
|
|
|
| libatk1.0-0 \
|
| libxshmfence1 libxcursor1 \
|
| libxdamage1 \
|
|
|
| && rm -rf /var/lib/apt/lists/*
|
|
|
|
|
| RUN npm install -g npm@latest && npm install -g n8n@latest
|
| RUN npm install -g puppeteer
|
|
|
|
|
| RUN npm install playwright && npx playwright install --with-deps
|
|
|
|
|
|
|
|
|
|
|
|
|
| EXPOSE 7860
|
|
|
| ENV PORT=7860 \
|
| N8N_HOST=0.0.0.0 \
|
| N8N_PORT=7860 \
|
| N8N_LISTEN_ADDRESS=0.0.0.0 \
|
| N8N_PROTOCOL=https \
|
| N8N_EDITOR_BASE_URL=https://r1000-nnn.hf.space \
|
| WEBHOOK_URL=https://r1000-nnn.hf.space \
|
| N8N_DISABLE_UI=false \
|
| N8N_BASIC_AUTH_ACTIVE=false \
|
| N8N_METRICS=false \
|
| N8N_DIAGNOSTICS_ENABLED=false \
|
| NODE_ENV=production \
|
| N8N_RUNNERS_ENABLED=true \
|
| PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
|
| PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium \
|
| NODE_FUNCTION_ALLOW_EXTERNAL=puppeteer \
|
| NODE_FUNCTION_ALLOW_BUILTIN=* \
|
| N8N_RUNNERS_ALLOW_PROTOTYPE_MUTATION=true
|
|
|
|
|
| RUN echo '#!/bin/sh\nwhile true; do curl -s https://r1000-nnn.hf.space/; sleep 43200; done &' > /periodic.sh \
|
| && chmod +x /periodic.sh
|
|
|
| ENTRYPOINT ["tini", "--"]
|
| CMD ["/bin/sh", "-c", "/periodic.sh & exec n8n"]
|
|
|