Docker Шпаргалка: N8N + Caddy - описывает настройку N8N с Caddy в качестве обратного прокси с HTTPS. Оптимизирована для Windows и продакшен-использования.

Docker Шпаргалка: N8N + Caddy

Эта шпаргалка описывает настройку N8N с Caddy в качестве обратного прокси с HTTPS. Оптимизирована для Windows и продакшен-использования.

Установка и настройка N8N

1. Создаем папку для данных

mkdir C:\docker-data-dir\n8n-data
Заметка: Убедитесь, что папка доступна для записи пользователем node (в контейнере). Для Windows используйте пути в формате /c/ в командах Docker.

2. Создаем файл окружения

Создайте файл C:\docker-data-dir\n8n-data\.env:

N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=your_secure_password
N8N_HOST=n8n.yourdomain.com
N8N_PROTOCOL=https
Важно: Замените your_secure_password на сложный пароль и n8n.yourdomain.com на ваш домен.

3. Создаем Docker-сеть

docker network create n8n-network

4. Запуск контейнера N8N

docker run -d  --name=n8n --network=n8n-network --user=node --restart=unless-stopped -p 5678:5678 -v c:\docker-data-dir\n8n-data:/home/node/.n8n  --env-file c:\docker-data-dir\n8n-data\.env  n8nio/n8n:1.62.4

Параметры:

Настройка Caddy (обратный прокси с HTTPS)

1. Создаем папку для конфигурации

mkdir C:\docker-data-dir\caddy

2. Создаем Caddyfile

echo 'n8n.yourdomain.com {
    reverse_proxy n8n:5678 {
        header_up Host {host}
        header_up X-Real-IP {remote}
        header_up X-Forwarded-For {remote}
        header_up X-Forwarded-Proto {scheme}
    }
}' > C:\docker-data-dir\caddy\Caddyfile
Заметка: Для Windows можно использовать PowerShell:
echo 'n8n.yourdomain.com { reverse_proxy n8n:5678 { header_up Host {host} header_up X-Real-IP {remote} header_up X-Forwarded-For {remote} header_up X-Forwarded-Proto {scheme} } }' | Out-File -FilePath C:\docker-data-dir\caddy\Caddyfile -Encoding UTF8

3. Запуск Caddy




docker run -d --name=caddy  --network=n8n-network  --restart=unless-stopped  -p 80:80 -p 443:443  -v c:\docker-data-dir\caddy\Caddyfile:/etc/caddy/Caddyfile  -v caddy_data:/data  caddy:2.8


Параметры:

Полезные команды

Общие команды

docker ps -a                    # Список всех контейнеров
docker logs <container>         # Просмотр логов контейнера
docker restart <container>      # Перезапуск контейнера
docker volume ls                # Список томов

Для N8N

docker exec -it n8n sh          # Вход в контейнер (bash может быть недоступен)
docker logs n8n                 # Просмотр логов N8N

Для Caddy

docker exec caddy caddy reload  # Перезагрузка конфигурации
docker volume inspect caddy_data  # Информация о томе сертификатов
docker logs caddy               # Просмотр логов Caddy

Важные заметки

Устранение проблем

Проверка доступности N8N

curl -v http://localhost:5678    # Проверка локального доступа
docker exec caddy curl http://n8n:5678  # Проверка из Caddy

Проверка HTTPS

curl -v https://n8n.yourdomain.com  # Проверка внешнего доступа

Проверка сертификатов Caddy

docker exec caddy ls /data/caddy/certificates

Проверка статуса контейнеров

docker ps -a --filter "name=n8n|caddy"

Ошибки прав доступа

Если N8N не может записывать в /c/docker-data-dir/n8n-data:

docker run --rm -v /c/docker-data-dir/n8n-data:/data busybox chown -R 1000:1000 /data

Что включено

← BACK_TO_LOGS