💻 ИНФРАСТРУКТУРА • Шаблон 23 из 25
Сейчас мы не только сэкономим $20 в месяц на подписке N8N благодаря Railway. Но и впихнем туда программу, которая нам нужна для создания видео-контента, что сэкономит дополнительные несколько десятков $.
Примерное время установки: 15-25 минут.
Стоимость: на Railway рекомендуется Hobby Plan (~$5/месяц + плата за ресурсы сверх лимита, но лимиты довольно щедрые, и не факт что будут тобой превышены).
💻 Сервисы и интеграции:
Railway.com — облачная платформа, на которой можно разворачивать и запускать приложения без гемора, например N8N. Всё работает из коробки: ты загружаешь проект, и платформа сама запускает его, следит за работой и держит в онлайне 24/7. Это удобно, если ты не хочешь настраивать сервер вручную.
GitHub — сайт, где хранятся файлы проектов. Там лежат инструкции, код и всё, что нужно для запуска приложений, например N8N. Эти файлы называются "репозитории" (по сути, это просто папка с файлами).
FFmpeg — прога, которая умеет монтировать видео. Она не имеет интерфейса как обычные видеоредакторы, типа CapCut или Adobe Premiere. Вместо этого мы управляем ей текстовыми командами.
⚙️ Установка и настройка
Регистрация и выбор тарифа
Подготовка "рецепта" N8N с FFmpeg
Развертывание сервисов на Railway
Настройка (переменных окружения)
Первый вход и проверка FFmpeg
1️⃣ Регистрация и выбор тарифа
Зайди на https://railway.com
Зарегистрируйся Нажми "Login". Самый простой способ — использовать GitHub аккаунт (давно пора его сделать). Railway попросит дать доступ к твоим репозиториям (это нужно для развертывания).
Перейди на Hobby Plan В настройках аккаунта (кликни на свой аватар -> Account Settings -> Plans) выбери Hobby Plan. Он стоит $5 в месяц и дает гораздо больше ресурсов, чем бесплатный, плюс снимает некоторые ограничения. Пока что нам этого хватит.
Railway удобнее всего разворачивает приложения из GitHub-репозиториев, особенно если нам нужно немного доработать Docker-образ. Проще говоря: щас мы сделаем файл-инструкцию, прочитав который Railway запустит нужные программы.
Создай (импортируй) репозиторий на GitHub:
Зайди на https://github.com/.
Нажми "+" в правом верхнем углу -> "New repository".
Найди там кнопку Import a repository.
Вставь в "The URL for your source repository" вот эту ссылку: https://github.com/thecrocoinc/n8n-railway-ffmpeg
Придумай название и вставь его в "Repository name"
Begin Import
Теперь ждём.
Ты можешь также создать свой репозиторий с нуля.
Для этого:
- В созданном репозитории нажми -> "Create new file".
- Назови файл Dockerfile (именно так, с большой буквы, без расширения).
- Вставь в него следующий код:
FROM docker.n8n.io/n8nio/n8n:latest USER root RUN apk add --no-cache ffmpeg curl RUN chown -R node:node /home/node/.n8n USER node
FROM ...: Берет официальный образ n8n.
USER root: Временно становится главным администратором внутри контейнера.
RUN apk add ...: Устанавливает программы ffmpeg и curl.
RUN chown ...: Убеждается, что у n8n есть права на свою папку.
USER node: Возвращается к обычному пользователю n8n.
Нажми "Commit new file".
Теперь нажав на аватарку справа вверху и выбрав Your repositories, ты можешь посмотреть свои репозитории. Поздравляю!
Создай проект на Railway: - Вернись в свою панель Railway. - Нажми "+ New Project". - Выбери "Deploy from GitHub repo". - Настрой доступ к GitHub, если еще не сделал, и выбери репозиторий с твоим названием, который только что создал. Если файл не будет виден, попробуй обновить страницу, или даже удалить подключение GitHub и врубить его заново. - Если все четко, Railway автоматически обнаружит Dockerfile и начнет сборку и развертывание сервиса N8N. Это может занять несколько минут.
Добавь базу данных PostgreSQL: - Пока N8N разворачивается, нажми "+ Create" (внутри твоего проекта). - Выбери "Database". - Выбери "Add PostgreSQL". Railway создаст базу данных и покажет переменные для подключения к ней.
Добавь Redis: - Снова нажми "+ New". - Выбери "Database". - Выбери "Add Redis".
Теперь у тебя в проекте три сервиса: твой N8N, PostgreSQL и Redis.
Кликни на развёрнутый N8N (у меня он назван n8n-on-railway) в проекте.
Перейди на вкладку "Variables".
Добавь переменные через кнопку "+ New Variable" вручную для каждой строки. То, что слева (до ":") копируешь из этой инструкции. То, что справа (в фигурных скобках) выбираешь из выпадающего списка. - DB_TYPE: postgresdb - DB_POSTGRESDB_HOST: Используй переменную Railway! Нажми. "Show More" и выбери {{Postgres.PGHOST}} из подсказок. Не вводи IP вручную!
- DB_POSTGRESDB_PORT: аналогично, {{Postgres.PGPORT}}.
- DB_POSTGRESDB_DATABASE: аналогично, {{Postgres.PGDATABASE}}.
- DB_POSTGRESDB_USER: аналогично, {{Postgres.PGUSER}}.
- DB_POSTGRESDB_PASSWORD: аналогично, {{Postgres.PGPASSWORD}}.
- N8N_HOST: Сначала можешь вставить сюда публичный домен, который Railway предоставил твоему n8n-сервису.
Его можно найти во вкладке Settings -> Networking -> Public Networking. Он будет вида n8n-railway-ffmpeg-production-XXXX.up.railway.app. Если не появился, нажми сгенерировать. Немного позже ты сможешь привязать свой домен и обновить эту переменную.
- WEBHOOK_URL: https://<тот_же_адрес_из_N8N_HOST>/
( на место скобок < > вставь тот же домен, что копировал на предыдущем шаге, а в конце обязательно должна быть черточка / )
- N8N_PROTOCOL: https
- EXECUTIONS_MODE: regular
- QUEUE_BULL_REDIS_HOST: Используй переменную Railway! Выбери вручную, как делали с Postgres, только $ {{Redis.REDISHOST}}
- QUEUE_HEALTH_CHECK_ACTIVE: true
- N8N_ENCRYPTION_KEY: СГЕНЕРИРУЙ НАДЕЖНЫЙ СЛУЧАЙНЫЙ КЛЮЧ! Используй менеджер паролей или онлайн-генератор. Обязательно сохрани этот ключ в надежном месте! Без него ты потеряешь доступ ко всем сохраненным кредам в N8N. Пример: MySecretKey123!@#ButMakeItMuchLongerAndRandom.
- N8N_DEFAULT_BINARY_DATA_MODE: filesystem
- N8N_PAYLOAD_SIZE_MAX: 512
- NODE_OPTIONS: -max-old-space-size=4096
- N8N_FILESYSTEM_MAX_SIZE: 512
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: false
Дождись переразвертывания: После добавления/изменения переменных Railway, нажми Deploy и Railway автоматически переразвернет сервис N8N с новыми настройками. Следи за статусом во вкладке "Deployments".
Открой n8n: Перейди по публичному адресу твоего n8n (который ты указал в N8N_HOST, вида https://n8n-railway-ffmpeg-production-XXXX.up.railway.app).
Создай аккаунт владельца: Ты увидишь страницу настройки пользователя N8N. Задай email, имя, пароль.
Проверь FFmpeg (Рекомендуется): - Создай новый пустой воркфлоу. - Добавь узел Execute Command. - В поле Command введи: ffmpeg -version - Запусти узел. - Во вкладке " O U T P U T" ты должен увидеть информацию о версии FFmpeg, а не ошибку "command not found". Если видишь версию – значит, FFmpeg успешно установлен в контейнере!
✅ Красава!