docker-compose.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. version: "3.9"
  2. services:
  3. ts-network:
  4. image: tailscale/tailscale:latest
  5. container_name: ts-n8n
  6. environment:
  7. - TS_AUTHKEY=tskey-auth-kS1DGBXc3H11CNTRL-UuCbbRQBEBBvrQhXreS7BBVwmztVyNSz
  8. - "TS_EXTRA_ARGS=--advertise-tags=tag:container --reset"
  9. - TS_SERVE_CONFIG=/config/n8n.json
  10. - TS_STATE_DIR=/var/lib/tailscale
  11. - TS_USERSPACE=false
  12. - LANG=C.UTF-8
  13. volumes:
  14. - /opt/docker-compose/third/n8n/state:/var/lib/tailscale
  15. - /opt/docker-compose/third/n8n/config:/config
  16. - /etc/localtime:/etc/localtime:ro
  17. devices:
  18. - /dev/net/tun:/dev/net/tun
  19. cap_add:
  20. - net_admin
  21. restart: unless-stopped
  22. networks:
  23. - ai_network
  24. n8n:
  25. image: n8nio/n8n:2.27.3
  26. container_name: n8n
  27. restart: unless-stopped
  28. networks:
  29. - ai_network
  30. ports:
  31. - "5678:5678"
  32. environment:
  33. GENERIC_TIMEZONE: "Europe/Tallinn"
  34. N8N_PORT: "5678"
  35. N8N_PROTOCOL: "http"
  36. N8N_ENCRYPTION_KEY: "d0d68562bfdc68746dab3c4041cda61e96507be3908872ffed3c1a16cb8c47a0"
  37. N8N_SECURE_COOKIE: "false"
  38. N8N_RUNNERS_MODE: "external"
  39. N8N_RUNNERS_AUTH_TOKEN: "super_strong_random_token_change_this_2026"
  40. N8N_RUNNERS_BROKER_LISTEN_ADDRESS: "0.0.0.0"
  41. N8N_RUNNERS_TASK_TIMEOUT: "300"
  42. N8N_RUNNERS_JS_PACKAGES: "playwright"
  43. N8N_NATIVE_PYTHON_RUNNER: "true"
  44. volumes:
  45. - /data/docker/n8n:/home/node/.n8n
  46. - /data/docker/n8n-cache:/home/node/.cache
  47. - /backups/docker/n8n:/backups
  48. - /etc/localtime:/etc/localtime:ro
  49. n8n-runners:
  50. #image: n8nio/runners:latest
  51. image: n8n-runner-custom
  52. container_name: n8n-runners
  53. restart: unless-stopped
  54. #user: root
  55. environment:
  56. - N8N_RUNNERS_TASK_BROKER_URI=http://n8n:5679
  57. - N8N_RUNNERS_AUTH_TOKEN=super_strong_random_token_change_this_2026
  58. - N8N_RUNNERS_TASK_TIMEOUT=300
  59. - NODE_FUNCTION_ALLOW_BUILTIN=*
  60. - NODE_FUNCTION_ALLOW_EXTERNAL=ws
  61. #extra_hosts:
  62. # - "n8n:100.67.158.94"
  63. depends_on:
  64. - n8n
  65. volumes:
  66. - /etc/localtime:/etc/localtime:ro
  67. #- ./n8n-task-runners.json:/etc/n8n-task-runners.json:ro
  68. #- ./python-venv:/opt/runners/task-runner-python/.venv
  69. #- ./n8n-runner-cache:/home/node/.cache/ms-playwright
  70. #- /data/docker/n8n-runner-javascript:/opt/runners/task-runner-javascript
  71. - /backups/docker/n8n-runners:/backups
  72. networks:
  73. - ai_network
  74. # ================== PLAYWRIGHT BROWSER SERVER (port 3003) ==================
  75. playwright:
  76. image: mcr.microsoft.com/playwright:v1.52.0-jammy
  77. container_name: playwright
  78. restart: unless-stopped
  79. user: root
  80. environment:
  81. - PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
  82. volumes:
  83. - /data/docker/playwright-browsers:/ms-playwright
  84. - /etc/localtime:/etc/localtime:ro
  85. ports:
  86. - "3003:3003"
  87. command: >
  88. bash -c "
  89. echo 'Installing dependencies...' &&
  90. npx -y playwright@1.52.0 install --with-deps chromium &&
  91. echo 'Starting Playwright browser server...' &&
  92. npx -y playwright@1.52.0 run-server \
  93. --port 3003 \
  94. --host 0.0.0.0
  95. "
  96. networks:
  97. - ai_network
  98. # Kui soovid, et Tailscale ka seda näeks (soovitatav)
  99. #depends_on:
  100. # - ts-network
  101. networks:
  102. ai_network:
  103. external: true
  104. name: main_ai_network