nai / Dockerfile
R1000's picture
Rename Dockerfile.bak to Dockerfile
d259e36 verified
# 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"]