Spaces:
5h4rxz
/
Running

n8n / Dockerfile
5h4rxz's picture
Update Dockerfile
2c345b8 verified
raw
history blame
1.09 kB
# Changed from 20 to 22
FROM node:22-alpine
USER root
# Install system dependencies including Python
RUN apk add --no-cache \
git python3 py3-pip py3-virtualenv make g++ build-base \
cairo-dev pango-dev chromium postgresql-client \
ffmpeg openssl busybox-extras curl bash unzip gdal
# Create a virtual environment and install yt-dlp there
RUN python3 -m venv /opt/venv \
&& . /opt/venv/bin/activate \
&& pip install --no-cache-dir yt-dlp \
&& ln -sf /opt/venv/bin/yt-dlp /usr/local/bin/yt-dlp
# Create symlink for python (sometimes needed)
RUN ln -sf /usr/bin/python3 /usr/bin/python
ENV PUPPETEER_SKIP_DOWNLOAD=true
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
# Install latest n8n
RUN npm install -g n8n@latest
# Create clean config directory
RUN mkdir -p /data/.n8n \
&& echo '{}' > /data/.n8n/settings.json \
&& chmod -R 777 /data
# Add keep-alive script
COPY keepalive.sh /usr/local/bin/keepalive.sh
RUN chmod +x /usr/local/bin/keepalive.sh
WORKDIR /data
ENV N8N_CONFIG_DIR=/data/.n8n
CMD sh -c "/usr/local/bin/keepalive.sh & n8n start"