Это старая версия документа!
Установка n8n через Docker с папкой данных в /opt/n8n
Комплексная установка на одну машину n8n, nginx-proxy, nginx-letsencrypt
Шаг 1: Обновление системы
sudo apt update && sudo apt upgrade -y
Шаг 2: Установи Docker и Docker Compose
sudo apt install -y docker.io docker-compose sudo systemctl enable --now docker
Шаг 3: Создай папку для n8n в /opt и выставь права
sudo mkdir -p /opt/n8n/n8n_data sudo chown -R $USER:$USER /opt/n8n
Шаг 4: Создай файл docker-compose.yml в /opt/n8n
cd /opt/n8n nano docker-compose.yml
Шаг 5: Вставляем текст в файл yml
services:
nginx-proxy:
image: jwilder/nginx-proxy:alpine
container_name: nginx-proxy
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./certs:/etc/nginx/certs:ro
- ./vhost.d:/etc/nginx/vhost.d
- ./html:/usr/share/nginx/html
labels:
com.github.nginx-proxy.nginx: "true"
networks:
- webproxy
nginx-letsencrypt:
image: nginxproxy/acme-companion
container_name: nginx-letsencrypt
restart: always
environment:
NGINX_PROXY_CONTAINER: nginx-proxy
DEFAULT_EMAIL: **email**
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./certs:/etc/nginx/certs
- ./vhost.d:/etc/nginx/vhost.d
- ./html:/usr/share/nginx/html
depends_on:
- nginx-proxy
networks:
- webproxy
n8n:
image: n8nio/n8n
container_name: n8n
restart: always
environment:
- N8N_GENERIC_RESPONSE_MIDDLEWARE_TRUST_PROXY=true
- N8N_RUNNERS_ENABLED=true
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
- TZ=Europe/Moscow
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=**pass**
- N8N_HOST=**host.test.ru**
- WEBHOOK_URL=https://**host.test.ru**/
- VIRTUAL_HOST=**host.test.ru**
- VIRTUAL_PORT=5678
- LETSENCRYPT_HOST=**host.test.ru**
- LETSENCRYPT_EMAIL=**email**
- N8N_EXPERIMENTAL_CHAT=true
- N8N_ENABLE_COMMUNITY_NODES=true
- N8N_ALLOW_SUPERDANGEROUS_EXECUTION=true
- N8N_CUSTOM_EXTENSIONS=/home/node/custom/nodes
volumes:
- ./n8n_data:/home/node/.n8n
- ./n8n_nodes:/home/node/custom/nodes
networks:
- webproxy
networks:
webproxy:
external: true
Шаг 6: Создаем сеть в докере
docker network create webproxy
Шаг 7: Создаем все необходимые папки для маппинга дисков и запускаем контейнер
sudo mkdir -p /opt/n8n/{certs,vhost.d,html,n8n_data,n8n_nodes}
sudo chown -R $USER:$USER /opt/n8n
cd /opt/n8n
docker-compose up -d