docker-compose.yml 3.5 KB

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