From 2f0d7e7d314d80aa369f322af81e05bd620d2dd2 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 6 Aug 2025 14:53:27 -0300 Subject: [PATCH] docker compose --- .gitignore | 1 + docker-compose.yml | 13 +++++++++ docker-custom-entrypoint.sh | 45 ------------------------------ Dockerfile => docker/Dockerfile | 0 build => docker/build | 0 docker/docker-custom-entrypoint.sh | 37 ++++++++++++++++++++++++ push => docker/push | 0 7 files changed, 51 insertions(+), 45 deletions(-) create mode 100644 .gitignore create mode 100644 docker-compose.yml delete mode 100644 docker-custom-entrypoint.sh rename Dockerfile => docker/Dockerfile (100%) rename build => docker/build (100%) create mode 100644 docker/docker-custom-entrypoint.sh rename push => docker/push (100%) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8fce603 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +data/ diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ba3844f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,13 @@ +services: + n8n: + image: docker.odoo4projects.com/od8n/n8n:latest + container_name: n8n + ports: + - "5678:5678" + volumes: + - ./data/.n8n:/home/node/.n8n + environment: + - N8N_BASIC_AUTH_ACTIVE=true + - N8N_BASIC_AUTH_USER=admin + - N8N_BASIC_AUTH_PASSWORD=secret + restart: unless-stopped diff --git a/docker-custom-entrypoint.sh b/docker-custom-entrypoint.sh deleted file mode 100644 index 67539a4..0000000 --- a/docker-custom-entrypoint.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -print_banner() { - echo "----------------------------------------" - echo "n8n Puppeteer Node - Environment Details" - echo "----------------------------------------" - echo "Node.js version: $(node -v)" - echo "n8n version: $(n8n --version)" - - # Get Chromium version specifically from the path we're using for Puppeteer - CHROME_VERSION=$("$PUPPETEER_EXECUTABLE_PATH" --version 2>/dev/null || echo "Chromium not found") - echo "Chromium version: $CHROME_VERSION" - - # Get Puppeteer version if installed - PUPPETEER_PATH="/opt/n8n-custom-nodes/node_modules/n8n-nodes-puppeteer" - if [ -f "$PUPPETEER_PATH/package.json" ]; then - PUPPETEER_VERSION=$(node -p "require('$PUPPETEER_PATH/package.json').version") - echo "n8n-nodes-puppeteer version: $PUPPETEER_VERSION" - - # Try to resolve puppeteer package from the n8n-nodes-puppeteer directory - CORE_PUPPETEER_VERSION=$(cd "$PUPPETEER_PATH" && node -e "try { const version = require('puppeteer/package.json').version; console.log(version); } catch(e) { console.log('not found'); }") - echo "Puppeteer core version: $CORE_PUPPETEER_VERSION" - else - echo "n8n-nodes-puppeteer: not installed" - fi - - echo "Puppeteer executable path: $PUPPETEER_EXECUTABLE_PATH" - echo "----------------------------------------" -} - -# Add custom nodes to the NODE_PATH -if [ -n "$N8N_CUSTOM_EXTENSIONS" ]; then - export N8N_CUSTOM_EXTENSIONS="/opt/n8n-custom-nodes:${N8N_CUSTOM_EXTENSIONS}" -else - export N8N_CUSTOM_EXTENSIONS="/opt/n8n-custom-nodes" -fi - -print_banner - -export NODE_FUNCTION_ALLOW_EXTERNAL=* -export NODE_PATH=/opt/n8n-custom-nodes/node_modules - -# Execute the original n8n entrypoint script -exec /docker-entrypoint.sh "$@" - diff --git a/Dockerfile b/docker/Dockerfile similarity index 100% rename from Dockerfile rename to docker/Dockerfile diff --git a/build b/docker/build similarity index 100% rename from build rename to docker/build diff --git a/docker/docker-custom-entrypoint.sh b/docker/docker-custom-entrypoint.sh new file mode 100644 index 0000000..174ba72 --- /dev/null +++ b/docker/docker-custom-entrypoint.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +print_env_details() { + echo "Node.js: $(node -v)" + echo "n8n: $(n8n --version)" + + # Chromium version from Puppeteer path + CHROME_VERSION=$("$PUPPETEER_EXECUTABLE_PATH" --version 2>/dev/null || echo "Chromium not found") + echo "Chromium: $CHROME_VERSION" + + PUPPETEER_PATH="/opt/n8n-custom-nodes/node_modules/n8n-nodes-puppeteer" + + if [ -f "$PUPPETEER_PATH/package.json" ]; then + PUPPETEER_VERSION=$(node -p "require('$PUPPETEER_PATH/package.json').version") + echo "n8n-nodes-puppeteer: $PUPPETEER_VERSION" + + CORE_PUPPETEER_VERSION=$(cd "$PUPPETEER_PATH" && node -e "try { console.log(require('puppeteer/package.json').version); } catch { console.log('not found'); }") + echo "Puppeteer core: $CORE_PUPPETEER_VERSION" + else + echo "n8n-nodes-puppeteer: not installed" + fi + + echo "Puppeteer path: $PUPPETEER_EXECUTABLE_PATH" +} + + +export N8N_CUSTOM_EXTENSIONS="/opt/n8n-custom-nodes:${N8N_CUSTOM_EXTENSIONS}" + +print_env_details + +# Set node environment +export NODE_FUNCTION_ALLOW_EXTERNAL=* +export NODE_PATH=/opt/n8n-custom-nodes/node_modules + +# Start n8n +exec /docker-entrypoint.sh "$@" + diff --git a/push b/docker/push similarity index 100% rename from push rename to docker/push