docker-compose.yml 3.5 KB

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