N8N на Railway
Сначала я не хотел делать урок о (бесплатном или очень дешевом) размещении N8N в облаке. Но вскоре нашелся удобный способ склеивать видосы бесплатно, а не за $49 в месяц – через программу FFmpeg (вместо Creatomate).
Поэтому сегодня мы не только сэкомим $20 в месяц на подписке на N8N, так как будем использовать Railway, но и впихнем туда программу, которая нам нужна для создания видео-контента, что сэкономит дополнительные $49.
Примерное время установки: 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 в месяц и дает гораздо больше ресурсов, чем бесплатный, плюс снимает некоторые ограничения. Пока что нам этого хватит.
⠀
✅ Аккаунт готов.
2️⃣ Подготовка "рецепта" N8N с FFmpeg
Railway удобнее всего разворачивает приложения из GitHub-репозиториев, особенно если нам нужно немного доработать Docker-образ. Проще говоря: щас мы сделаем файл-инструкцию, прочитав который Railway запустит нужные программы.
- Зайди на https://github.com/.
- Нажми "+" в правом верхнем углу -> "New repository".
- Найди там кнопку Import a repository.
- Вставь в "The URL for your source repository" вот эту ссылку:
https://github.com/thecrocoinc/n8n-railway-ffmpeg
⠀
Придумай название и вставь его в "Repository name"
- Ты можешь также создать свой репозиторий с нуля.Для этого:
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, ты можешь посмотреть свои репозитории. Поздравляю!
✅ Рецепт написан.
3️⃣ Развертывание сервисов на Railway
- Создай проект на Railway:
- Вернись в свою панель Railway.
- Нажми "+ New Project".
- Выбери "Deploy from GitHub repo".
- Настрой доступ к GitHub, если еще не сделал, и выбери репозиторий с твоим названием, который только что создал. Если файл не будет виден, попробуй обновить страницу, или даже удалить подключение GitHub и врубить его заново.
- Если все четко, Railway автоматически обнаружит
Dockerfileи начнет сборку и развертывание сервиса N8N. Это может занять несколько минут.
⠀ - Добавь базу данных PostgreSQL:
- Пока N8N разворачивается, нажми "+ Create" (внутри твоего проекта).
- Выбери "Database".
- Выбери "Add PostgreSQL". Railway создаст базу данных и покажет переменные для подключения к ней.
⠀ - Добавь Redis:
Теперь у тебя в проекте три сервиса: твой N8N, PostgreSQL и Redis.
✅ Проект запущен.
4️⃣ Настройка (переменных окружения)
- Кликни на развёрнутый N8N
(у меня он назван n8n-on-railway)в проекте. - Перейди на вкладку "Variables".
- Добавь переменные через кнопку "+ New Variable" вручную для каждой строки.
DB_TYPE:postgresdbDB_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:httpsEXECUTIONS_MODE:regularQUEUE_BULL_REDIS_HOST: Используй переменную Railway! Выбери вручную, как делали с Postgress, только$ {{Redis.REDISHOST}}QUEUE_HEALTH_CHECK_ACTIVE:trueN8N_ENCRYPTION_KEY: СГЕНЕРИРУЙ НАДЕЖНЫЙ СЛУЧАЙНЫЙ КЛЮЧ! Используй менеджер паролей или онлайн-генератор. Обязательно сохрани этот ключ в надежном месте! Без него ты потеряешь доступ ко всем сохраненным кредам в N8N. Пример:MySecretKey123!@#ButMakeItMuchLongerAndRandom.N8N_DEFAULT_BINARY_DATA_MODE:filesystemN8N_PAYLOAD_SIZE_MAX:512NODE_OPTIONS:--max-old-space-size=4096N8N_FILESYSTEM_MAX_SIZE:512N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS:false
4. Дождись переразвертывания:
После добавления/изменения переменных Railway, нажми Deploy и Railway автоматически переразвернет сервис N8N с новыми настройками. Следи за статусом во вкладке "Deployments".
⠀
✅ Настройка завершена.
5️⃣ Первый вход и проверка FFmpeg
- Открой n8n:
Перейди по публичному адресу твоего n8n (который ты указал вN8N_HOST, видаhttps://n8n-railway-ffmpeg-production-XXXX.up.railway.app). - Создай аккаунт владельца:
Ты увидишь страницу настройки пользователя N8N. Задай email, имя, пароль. - Проверь FFmpeg (Рекомендуется):