From 5ca4ceb1cf3f6629f70adb7edfc898189b1d4da4 Mon Sep 17 00:00:00 2001 From: drholy Date: Sun, 30 Aug 2026 15:11:14 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20Dockerfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 58 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 21 deletions(-) diff --git a/Dockerfile b/Dockerfile index a1eb2df..06a7d99 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,36 +1,52 @@ -FROM node:23-alpine +FROM node:24-alpine3.22 -# Аргументы для настройки ARG N8N_VERSION=latest ARG SOCKS_IP=192.168.31.240 -# Установка зависимостей и n8n в одном слое +ENV NODE_OPTIONS=--no-node-snapshot + RUN apk add --no-cache \ - ffmpeg \ - curl \ - wget \ - iptables \ - redsocks \ - gnupg \ - netcat-openbsd \ - npm \ - su-exec \ - && npm install -g n8n@${N8N_VERSION} \ - && rm -rf /var/cache/apk/* + ffmpeg \ + curl \ + wget \ + iptables \ + redsocks \ + gnupg \ + netcat-openbsd \ + su-exec \ + && apk add --no-cache --virtual .build-deps \ + python3 \ + make \ + g++ \ + && npm install --global "n8n@${N8N_VERSION}" \ + && apk del .build-deps \ + && npm cache clean --force -# Создание пользователя и домашней директории -#RUN adduser -D -s /bin/sh node && mkdir -p /home/node/.n8n -RUN mkdir -p /home/node/.n8n && chown -R node:node /home/node +RUN mkdir -p /home/node/.n8n \ + && chown -R node:node /home/node -# Копирование скрипта и установка прав COPY start-n8n.sh /start.sh RUN chmod +x /start.sh -# Настройка redsocks.conf с использованием аргумента -RUN echo "base { log_debug = off; log_info = on; log = stderr; daemon = off; redirector = iptables; } redsocks { local_ip = 127.0.0.1; local_port = 12345; ip = ${SOCKS_IP}; port = 1080; type = socks5; }" > /etc/redsocks.conf +RUN printf '%s\n' \ + "base {" \ + " log_debug = off;" \ + " log_info = on;" \ + " log = stderr;" \ + " daemon = off;" \ + " redirector = iptables;" \ + "}" \ + "redsocks {" \ + " local_ip = 127.0.0.1;" \ + " local_port = 12345;" \ + " ip = ${SOCKS_IP};" \ + " port = 1080;" \ + " type = socks5;" \ + "}" \ + > /etc/redsocks.conf -# USER node WORKDIR /home/node + EXPOSE 5678 ENTRYPOINT ["/start.sh"] \ No newline at end of file