b3f25afd4c4e41316df6c213c07d073f8bfcb983
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 5m26s
n8n-ffmpeg-proxy
Docker-проект для запуска n8n с интеграцией ffmpeg и проксированием трафика через SOCKS5-прокси.
Особенности
- n8n: Установлен и запущен в контейнере Alpine Linux.
- ffmpeg: Доступен внутри контейнера, что позволяет использовать узлы n8n, требующие ffmpeg (например, для обработки аудио/видео).
- Проксирование трафика: Весь исходящий TCP-трафик из контейнера направляется через SOCKS5-прокси, используя
redsocksиiptables. - Безопасность: n8n запускается от непривилегированного пользователя
node. - Конфигурация: Поведение n8n настраивается через переменные окружения в
docker-compose.yml.
Установка и запуск
-
Клонируйте репозиторий (если он находится в другом месте, или создайте структуру вручную):
# git clone <URL_ВАШЕГО_РЕПОЗИТОРИЯ> n8n-ffmpeg-proxy # cd n8n-ffmpeg-proxyУбедитесь, что в директории находятся файлы
Dockerfile,docker-compose.yml, иstart-n8n.sh. -
Настройте
docker-compose.yml:- Проверьте и при необходимости измените переменные окружения для n8n (например,
WEBHOOK_URL,GENERIC_TIMEZONE). - Убедитесь, что имя сервиса
socksи его порт1080соответствуют вашему SOCKS-прокси. Если SOCKS-прокси запущен на хосте, убедитесь, чтоextra_hostsнастроен правильно (например,- "socks:192.168.31.240"). - При необходимости добавьте
cap_add: - NET_ADMINв сервисn8n, чтобыiptablesработали корректно.
- Проверьте и при необходимости измените переменные окружения для n8n (например,
-
(Опционально) Настройте
Dockerfile:- При необходимости измените версию n8n (
ARG N8N_VERSION). - Если SOCKS-прокси работает на другом IP, передайте его как аргумент сборки или измените
extra_hostsиDockerfile.
- При необходимости измените версию n8n (
-
Запустите проект:
docker-compose up -dКонтейнер начнет запускаться. Он будет ожидать доступности SOCKS-прокси.
-
Доступ к n8n: После успешного запуска n8n будет доступен на порту 5678 хоста (по умолчанию
http://localhost:5678). Убедитесь, что вашWEBHOOK_URLи настройки прокси (например, Nginx Proxy Manager) соответствуют вашему домену (например,https://n8n.home/).
Файлы проекта
Dockerfile: Определяет образ контейнера, устанавливает зависимости (ffmpeg, redsocks, n8n), настраиваетredsocks.confи пользователя.docker-compose.yml: Определяет сервисn8n, его конфигурацию, сети, переменные окружения, тома и зависимости.start-n8n.sh: Скрипт, выполняющийся при запуске контейнера. Он ожидает SOCKS-прокси, запускаетredsocks, настраиваетiptablesи затем запускает n8n.
Безопасность
- Контейнер запускается с минимально необходимыми привилегиями.
- Для настройки
iptablesтребуется capabilityNET_ADMIN. Используйте его осознанно. - Переменная
NODE_FUNCTION_ALLOW_EXTERNAL=*вdocker-compose.ymlпозволяет загрузку внешних зависимостей. Это может быть рискованно. Рассмотрите возможность её ограничения. - Переменная
N8N_SECURE_COOKIE=falseотключает флаг secure для cookies. Это может быть небезопасно, если n8n доступен по HTTP. Убедитесь, что n8n защищен SSL-терминированием (например, через Nginx Proxy Manager). - Убедитесь, что SSL-сертификат вашего Git-сервера или CA доверен среде разработки/развертывания, чтобы избежать проблем с
git pull/push.
Лицензия
MIT License DrHoly.
Description
Releases
1
Первая рабочая версия!
Latest
Languages
Shell
53%
Dockerfile
47%