
Контент-завод на своём сервере: схема n8n, хранение и публикации
22.03.2026
Автопостинг в соцсети с ИИ: как перестать выкладывать каждый пост вручную
26.03.2026
Контент-завод на своём сервере: схема n8n, хранение и публикации
22.03.2026
Автопостинг в соцсети с ИИ: как перестать выкладывать каждый пост вручную
26.03.2026Как я собрал свой собственный сервер для ИИ-монтажа видео (без платных API и Premiere)

Пока классические агентства неделями пишут сценарии за сотни тысяч, а рилсмейкеры выгорают за ручным монтажом в CapCut, я покажу, как запустить ИИ-станок и сгенерировать месяц топовых Reels за один вечер. Без камер и петличек.
Сегодня мы скрестим автоматизатор n8n и мощный видеодвижок ffmpeg. Вся магия будет происходить на вашем собственном сервере — абсолютно бесплатно и без лимитов на размер файлов.
Шаг 1. Подготовка папок на сервере
Чтобы нашему «станку» было откуда брать исходники и куда складывать готовые Reels, создадим для него цех.
Подключаемся к серверу по SFTP (например, через FileZilla) и создаем такую структуру папок:
/root/local-files/VIDEO/input — сюда будем кидать сырые нарезки.
/root/local-files/VIDEO/output — отсюда будем забирать готовые вирусные ролики.
Важно: Линукс чувствителен к регистру, поэтому строго соблюдайте большие и маленькие буквы в названиях!
Шаг 2. Собираем ИИ-станок (Docker Image)
Обычный n8n не умеет резать видео. Нам нужно встроить в него ffmpeg — «швейцарский нож» для медиа.
Делать мы это будем прямо в браузере, через панель Portainer (никаких черных экранов с кодом).
-
Открываем Portainer, идем в раздел Images и жмем Build a new image.
-
Называем образ
n8n-ffmpeg. -
В разделе Build method выбираем Web editor и вставляем этот рецепт (он сам скачает установщик и поставит надежную версию видеодвижка):
FROM docker.n8n.io/n8nio/n8n:latest
USER root
RUN ARCH=$(uname -m) && \
if [ "$ARCH" = "x86_64" ]; then ARCH="x86_64"; else ARCH="aarch64"; fi && \
wget -q -O - "https://dl-cdn.alpinelinux.org/alpine/latest-stable/main/${ARCH}/" | \
grep -o 'href="apk-tools-static[^"]*\.apk"' | head -1 | cut -d'"' -f2 | \
xargs -I {} wget -q "https://dl-cdn.alpinelinux.org/alpine/latest-stable/main/${ARCH}/{}" && \
tar -xvf apk-tools-*.apk && \
sbin/apk.static -X http://dl-cdn.alpinelinux.org/alpine/latest-stable/main -U --allow-untrusted --initdb add apk-tools && \
rm -rf sbin apk-tools-*.apk
RUN apk update && apk add --no-cache ffmpeg
USER node
-
Жмем Build the image и ждем пару минут.
Шаг 3. Подключаем конвейер
Теперь прикрутим новый движок к нашему рабочему n8n.
-
В Portainer идем в Containers, кликаем на свой контейнер n8n и жмем Duplicate/Edit.
-
В поле Image стираем старое название и пишем наше новое:
n8n-ffmpeg. -
Спускаемся в Advanced container settings:
-
Вкладка Volumes: жмем map additional volume. Обязательно выбираем тип Bind! В поле container пишем
/videos, в поле host — наш путь на сервере/root/local-files/VIDEO. -
Вкладка Env: добавляем две переменные.
ИмяNODES_EXCLUDE, значение[](это разблокирует командную строку внутри n8n).
ИмяN8N_DEFAULT_CMD_EXECUTOR, значениеshell(чтобы n8n не крашился при тяжелом рендере).
-
-
Жмем Deploy the container (и Replace).
Шаг 4. Настраиваем анти-вылет (Nginx Proxy)
Видеомонтаж — дело не быстрое. Чтобы сервер не обрывал соединение посреди работы с ошибкой Lost connection, нужно настроить прокси.
В панели Nginx Proxy Manager открываем свой домен n8n, идем на вкладку Advanced и вставляем этот код:
proxy_connect_timeout 3600;
proxy_send_timeout 3600;
proxy_read_timeout 3600;
send_timeout 3600;
Сохраняем и обновляем страницу n8n в браузере (Ctrl+F5).
Шаг 5. Запуск первого ИИ-ролика
Всё готово! Заходим в n8n и создаем тестовый сценарий склейки:
-
Закидываем через FileZilla два видео (
1.MOVи2.MOV) в папкуinput. -
Там же создаем текстовый файл
list.txtс таким содержимым:
file '1.MOV'
file '2.MOV'
-
В n8n добавляем ноду Execute Command и вставляем туда команду:
ffmpeg -f concat -safe 0 -i /videos/input/list.txt -c copy /videos/output/result.MOV -y
Жмем Execute! Секунда — и в папке output лежит готовый смонтированный ролик. Без вотермарок, без потерь качества и без вашего участия.
Отдал рутину роботу — вот результат. Дальше к этой схеме можно прикрутить наложение субтитров, водяных знаков и автоматическую отправку в Reels.
Автор статьи
Шведков Илья
Специалист по нейросетям и автоматизации
Помогаю экспертам зарабатывать больше через контент и ИИ.
В IT-сфере с 2004 года.
- Разработал 50+ автоворонок в 20 нишах - общий доход клиентов 90+ млн руб. Лучший кейс - 45 млн за 6 месяцев.
- Снял 3000+ Reels для клиентов - 9 видео с 1+ млн просмотров, 200+ роликов на YouTube.
- Автор 4 онлайн-курсов - помог 300 ученикам упаковать экспертность и масштабировать бизнес онлайн.
- Моя миссия: помочь экспертам быть услышанными и зарабатывать больше с нейросетями - чтобы каждый из них помог тысячам своих учеников, и вместе мы изменили жизни миллионов людей к лучшему.




1 Comment
В итоге еще imagemagick установил
FROM docker.n8n.io/n8nio/n8n:latest
USER root
# Восстанавливаем установщик
RUN ARCH=$(uname -m) && \
if [ «$ARCH» = «x86_64″ ]; then ARCH=»x86_64″; else ARCH=»aarch64»; fi && \
wget -q -O — «https://dl-cdn.alpinelinux.org/alpine/latest-stable/main/${ARCH}/» | \
grep -o ‘href=»apk-tools-static[^»]*\.apk»‘ | head -1 | cut -d'»‘ -f2 | \
xargs -I {} wget -q «https://dl-cdn.alpinelinux.org/alpine/latest-stable/main/${ARCH}/{}» && \
tar -xvf apk-tools-*.apk && \
sbin/apk.static -X http://dl-cdn.alpinelinux.org/alpine/latest-stable/main -U —allow-untrusted —initdb add apk-tools && \
rm -rf sbin apk-tools-*.apk
# Устанавливаем ffmpeg, imagemagick и базовые шрифты для текста
RUN apk update && apk add —no-cache ffmpeg imagemagick font-terminus font-inconsolata font-dejavu font-noto font-noto-cjk font-awesome font-noto-extra
USER node