| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- version: "3.9"
- services:
- ts-network:
- image: tailscale/tailscale:latest
- container_name: ts-n8n
- environment:
- - TS_AUTHKEY=tskey-auth-kS1DGBXc3H11CNTRL-UuCbbRQBEBBvrQhXreS7BBVwmztVyNSz
- - "TS_EXTRA_ARGS=--advertise-tags=tag:container --reset"
- - TS_SERVE_CONFIG=/config/n8n.json
- - TS_STATE_DIR=/var/lib/tailscale
- - TS_USERSPACE=false
- - LANG=C.UTF-8
- volumes:
- - /opt/docker-compose/third/n8n/state:/var/lib/tailscale
- - /opt/docker-compose/third/n8n/config:/config
- - /etc/localtime:/etc/localtime:ro
- devices:
- - /dev/net/tun:/dev/net/tun
- cap_add:
- - net_admin
- restart: unless-stopped
- networks:
- - ai_network
- n8n:
- image: n8nio/n8n:2.27.3
- container_name: n8n
- restart: unless-stopped
- networks:
- - ai_network
- ports:
- - "5678:5678"
- environment:
- GENERIC_TIMEZONE: "Europe/Tallinn"
- N8N_PORT: "5678"
- N8N_PROTOCOL: "http"
- N8N_ENCRYPTION_KEY: "d0d68562bfdc68746dab3c4041cda61e96507be3908872ffed3c1a16cb8c47a0"
- N8N_SECURE_COOKIE: "false"
- N8N_RUNNERS_MODE: "external"
- N8N_RUNNERS_AUTH_TOKEN: "super_strong_random_token_change_this_2026"
- N8N_RUNNERS_BROKER_LISTEN_ADDRESS: "0.0.0.0"
- N8N_RUNNERS_TASK_TIMEOUT: "300"
- N8N_RUNNERS_JS_PACKAGES: "playwright"
- N8N_NATIVE_PYTHON_RUNNER: "true"
- volumes:
- - /data/docker/n8n:/home/node/.n8n
- - /data/docker/n8n-cache:/home/node/.cache
- - /backups/docker/n8n:/backups
- - /etc/localtime:/etc/localtime:ro
- n8n-runners:
- #image: n8nio/runners:latest
- image: n8n-runner-custom
- container_name: n8n-runners
- restart: unless-stopped
- #user: root
- environment:
- - N8N_RUNNERS_TASK_BROKER_URI=http://n8n:5679
- - N8N_RUNNERS_AUTH_TOKEN=super_strong_random_token_change_this_2026
- - N8N_RUNNERS_TASK_TIMEOUT=300
- - NODE_FUNCTION_ALLOW_BUILTIN=*
- - NODE_FUNCTION_ALLOW_EXTERNAL=ws
- #extra_hosts:
- # - "n8n:100.67.158.94"
- depends_on:
- - n8n
- volumes:
- - /etc/localtime:/etc/localtime:ro
- #- ./n8n-task-runners.json:/etc/n8n-task-runners.json:ro
- #- ./python-venv:/opt/runners/task-runner-python/.venv
- #- ./n8n-runner-cache:/home/node/.cache/ms-playwright
- #- /data/docker/n8n-runner-javascript:/opt/runners/task-runner-javascript
- - /backups/docker/n8n-runners:/backups
- networks:
- - ai_network
- # ================== PLAYWRIGHT BROWSER SERVER (port 3003) ==================
- playwright:
- image: mcr.microsoft.com/playwright:v1.52.0-jammy
- container_name: playwright
- restart: unless-stopped
- user: root
- environment:
- - PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
- volumes:
- - /data/docker/playwright-browsers:/ms-playwright
- - /etc/localtime:/etc/localtime:ro
- ports:
- - "3003:3003"
- command: >
- bash -c "
- echo 'Installing dependencies...' &&
- npx -y playwright@1.52.0 install --with-deps chromium &&
- echo 'Starting Playwright browser server...' &&
- npx -y playwright@1.52.0 run-server \
- --port 3003 \
- --host 0.0.0.0
- "
- networks:
- - ai_network
- # Kui soovid, et Tailscale ka seda näeks (soovitatav)
- #depends_on:
- # - ts-network
- networks:
- ai_network:
- external: true
- name: main_ai_network
|