Введение
Если вы решили всерьез заняться автоматизацией на n8n, первый совет, который вы услышите на форумах: "Ставь через Docker". И если у вас MacBook(macOS) или ноутбук на Linux (Ubuntu) — проблем нет. Но как быть, если ваша основная рабочая машина работает на Windows? Исторически сложилось так, что Docker Desktop на Windows всегда "съедал" всю оперативную память и безбожно тормозил, заставляя кулеры выть.
К счастью, в последние годы Microsoft выкатила WSL2 (Windows Subsystem for Linux). Это не симулятор и не тяжеловесная виртуальная машина вроде VirtualBox, а настоящее, полноценное ядро Linux, работающее прямо внутри вашей Windows 10/11 практически без потери производительности. В этой статье мы пошагово разберем, как правильно поднять локальную среду для разработки на n8n, используя WSL2 и Docker.
Шаг 1: Активация WSL2 и установка Ubuntu
Забудьте про клики мышкой по меню управления компонентами Windows, мы всё сделаем по-инженерному, одной командой. Откройте приложение PowerShell (Обязательно от имени Администратора) и просто введите:
wsl --install
Что произойдет в фоне?
- Windows включит необходимые компоненты виртуализации.
- Скачает последнее ядро Linux от Microsoft.
- Скачает и установит дистрибутив Ubuntu по умолчанию.
После завершения процесса обязательно перезагрузите компьютер. При следующем включении
откроется черное окно терминала с просьбой придумать UNIX username (логин) и пароль. Пароль при
вводе отображаться не будет — это нормально для Linux. Запомните этот пароль, он понадобится вам для команды
sudo.
Шаг 2: Установка Docker Desktop
Теперь нам нужен механизм, который будет запускать контейнеры (изолированные "коробочки" с программами) внутри нашего нового Linux. Для управления этим процессом под Windows существует Docker Desktop.
- Зайдите на официальный сайт Docker и скачайте установщик для Windows.
- Запустите установку. На одном из первых экранов убедитесь, что стоит галочка: "Use WSL 2 instead of Hyper-V (recommended)". Именно она скажет Докеру использовать нашу быструю подсистему Linux.
- После установки запустите Docker Desktop. В настройках (шестеренка сверху справа) перейдите в Resources -> WSL Integration и убедитесь, что интеграция включена для вашего дистрибутива "Ubuntu".
Шаг 3: Запуск n8n через Docker Compose
Обычно новичкам советуют запускать n8n одной длинной командой docker run .... Это плохой совет.
В реальности вам всегда понадобятся переменные окружения, проброс портов и сохранение данных. Поэтому мы
сразу будем использовать взрослый инструмент — Docker Compose (он уже установился вместе с
Docker Desktop).
Откройте терминал вашей Ubuntu (через меню "Пуск" найдите приложение Ubuntu) или используйте Windows Terminal (лучший терминал для Windows). Создадим папку для нашего проекта и зайдем в неё:
mkdir n8n-local
cd n8n-local
Теперь нам нужно создать файл описания конфигурации. Мы заведем файл docker-compose.yml при
помощи встроенного текстового редактора nano:
nano docker-compose.yml
Вставьте в редактор следующий код (для вставки в WSL обычно используется правая кнопка мыши):
version: '3.8'
volumes:
n8n_data:
services:
n8n:
image: docker.n8n.io/n8nio/n8n
container_name: n8n_local
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=localhost
- N8N_PORT=5678
- N8N_PROTOCOL=http
- NODE_ENV=production
- WEBHOOK_URL=http://localhost:5678/
- GENERIC_TIMEZONE=Europe/Moscow
volumes:
- n8n_data:/home/node/.n8n
Нажмите Ctrl+O (сохранить), затем Enter (подтвердить имя файла), затем Ctrl+X (выйти из редактора).
Разбор конфигурации:
restart: always— если n8n упадет или вы перезагрузите ПК, сервис поднимется сам.ports: "5678:5678"— пробрасываем порт из контейнера наружу. Без этого вы не зайдете в интерфейс.volumes— Самое важное! Без этой строки все ваши рабочие процессы (Workflows) удалятся навсегда при перезапуске контейнера. Мы говорим Docker сохранять всё в виртуальном защищенном хранялищеn8n_data.GENERIC_TIMEZONE— часовой пояс. Замените на свой, иначе триггеры расписания (Cron) будут срабатывать криво.
Шаг 4: Запуск и проверка
Находясь в той же папке n8n-local, введите команду старта в "фоновом" (detached) режиме:
docker compose up -d
Docker скачает последние образы системы (около 500-800Мб) и запустит контейнер. Как только процесс завершится, откройте браузер в вашей Windows и перейдите по адресу:
http://localhost:5678
Поздравляю! Вы увидите окно первичной настройки n8n. Создайте локального пользователя администратора. Поскольку всё крутится на вашем ПК (localhost), эти данные безопасны и не "светятся" в интернете.
Бонус: Как получать Webhook от внешних сервисов из интернета к вам на локальный ПК?
Работать локально удобно: быстро, бесплатно, безопасно. Но есть проблема: если Telegram к вам должен прислать
вебхук, когда клиент пишет сообщение боту, Telegram не может послать его на localhost (он
попытается послать его самому себе).
Для разработки вам понадобится инструмент типа ngrok, localtunnel на
node.js или встроенный в самом n8n туннель (работает только в демо-целях). Если используете n8n-tunnel,
добавьте в секцию environment вашего docker-compose.yml строку:
- N8N_TUNNEL=true и запустите docker compose up -d --force-recreate.
Заключение
Связка Windows + WSL2 + Docker Compose сегодня работает так же безупречно, как на родном Linux. Такой подход позволяет вам тестировать любые безумные идеи, подключать локальные ИИ-модели по сети внутри WSL, парсить сайты и ошибаться сколь угодно раз, не платя ни копейки за облачный хостинг, пока ваш проект не станет готов к Production-развертыванию.