N8N / Dockerfile
Abraham03's picture
Update Dockerfile
a2b89b7 verified
Raw
History Blame Contribute Delete
1.52 kB
# Imagen oficial de Python basada en Debian Bookworm
FROM python:3.11-slim-bookworm
# Variables de entorno
ENV NODE_VERSION=22.x
ENV N8N_PORT=7860
ENV N8N_EXECUTION_PROCESS=main
ENV NODE_FUNCTION_ALLOW_BUILTIN=*
ENV NODE_FUNCTION_ALLOW_EXTERNAL=*
ENV NODES_EXCLUDE="[]"
ENV N8N_ENABLE_EXECUTE_COMMAND=true
# Lista blanca para autorizar la escritura de archivos
ENV N8N_RESTRICT_FILE_ACCESS_TO=/home/node/python_scripts
# Carpeta segura de n8n
ENV HOME=/home/node
ENV N8N_USER_FOLDER=/home/node
# Instalación de NodeJS y herramientas
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
build-essential \
python3-dev \
&& curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
&& apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/*
# Instalación de n8n de forma global
RUN npm install -g n8n@latest
# Creación de las carpetas de trabajo y configuración
RUN mkdir -p /home/node/python_scripts
RUN mkdir -p /home/node/.n8n
# Copy-Paste de scripts y plantillas
COPY *.py /home/node/python_scripts/
COPY *.xlsx /home/node/python_scripts/
# Se copian los requerimientos para la instalación
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
# Propiedades + Escritura Global
RUN chown -R 1000:1000 /home/node
RUN chmod -R 777 /home/node
# Petición a Docker que arranque n8n usando el mismo usuario autorizado
USER 1000
# Se expone el puerto para un buen arranque
EXPOSE 7860
# Arranque de n8n
CMD ["n8n", "start", "--port", "7860"]