Сейчас мы не только сэкономим $20 в месяц на подписке N8N благодаря Railway. Но и впихнем туда программу, которая нам нужна для создания видео-контента, что сэкономит дополнительные несколько десятков $.
Примерное время установки: 15-25 минут.
Стоимость: на Railway рекомендуется Hobby Plan (~$5/месяц + плата за ресурсы сверх лимита, но лимиты довольно щедрые, и не факт что будут тобой превышены).
Railway удобнее всего разворачивает приложения из GitHub-репозиториев, особенно если нам нужно немного доработать Docker-образ. Проще говоря: щас мы сделаем файл-инструкцию, прочитав который Railway запустит нужные программы.
Придумай название и вставь его в "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.Теперь нажав на аватарку справа вверху и выбрав Your repositories, ты можешь посмотреть свои репозитории. Поздравляю!
Dockerfile и начнет сборку и развертывание сервиса N8N. Это может занять несколько минут.Теперь у тебя в проекте три сервиса: твой N8N, PostgreSQL и Redis.
(у меня он назван n8n-on-railway) в проекте.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: https
- EXECUTIONS_MODE: regular
- QUEUE_BULL_REDIS_HOST: Используй переменную Railway! Выбери вручную, как делали с Postgress, только $ {{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
N8N_HOST, вида https://n8n-railway-ffmpeg-production-XXXX.up.railway.app).Execute Command.Command введи: ffmpeg -version