# n8n на n8n.clientright.ru Развёртывание n8n в Docker с PostgreSQL, SSL (Let's Encrypt) и выборочным прокси для части доменов (OpenAI, Anthropic и др.). ## Состав - **n8n** (n8nio/n8n:2.7.5) — за Nginx по HTTPS - **PostgreSQL 16** — хранилище n8n - **Squid** — локальный прокси: часть доменов идёт через внешний прокси, остальное — напрямую ## Требования - Docker и Docker Compose - Nginx как reverse proxy с SSL для `n8n.clientright.ru` - Файл `.env` (см. ниже) ## Быстрый старт 1. Скопировать `.env.example` в `.env` и заполнить значения (пароли, внешний прокси при необходимости). 2. Запуск: ```bash docker compose up -d ``` 3. Открыть https://n8n.clientright.ru и создать первого пользователя. ## Переменные окружения (.env) Файл `.env` не коммитится в репозиторий. Пример структуры — в `.env.example`. - **POSTGRES_*** — пользователь, пароль и БД для PostgreSQL. - **EXTERNAL_PROXY_*** — внешний HTTP-прокси (host, port, при необходимости user/pass). Через него идут только домены из `proxy/squid.conf` (по умолчанию openai.com, anthropic.com, googleapis.com). - Остальной трафик n8n выходит в интернет напрямую. ## Прокси - n8n использует только локальный Squid (`http://proxy:3128`). - В `proxy/squid.conf` заданы домены (acl `to_parent_proxy`), которые маршрутизируются во внешний прокси; для них включён `never_direct allow to_parent_proxy`. - Добавить домен: дописать в `proxy/squid.conf` строку вида `acl to_parent_proxy dstdomain .example.com`, пересобрать и перезапустить proxy: `docker compose build proxy && docker compose up -d proxy`. ## Обновление n8n Изменить тег образа в `docker-compose.yml` (например, `n8nio/n8n:2.7.6`), затем: ```bash docker compose pull n8n docker compose up -d n8n ``` ## Файлы - `docker-compose.yml` — сервисы n8n, postgres, proxy - `proxy/` — образ и конфиг Squid (Dockerfile, squid.conf, entrypoint.sh) - `n8n.clientright.ru.conf` — пример конфига Nginx (реальный конфиг на сервере в `/etc/nginx/conf.d/`)