- Updated all Dockerfiles from node:20-alpine to node:22-alpine - Addresses known vulnerabilities in older Alpine images - Provides better long-term support with Node.js 22 LTS (until April 2027) - Updated documentation to reflect new base image version - Tested and verified compatibility with all dependencies 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
49 lines
1.5 KiB
YAML
49 lines
1.5 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# Latest n8n container for node extraction
|
|
n8n-latest:
|
|
image: n8nio/n8n:latest
|
|
container_name: n8n-latest-extractor
|
|
environment:
|
|
- N8N_BASIC_AUTH_ACTIVE=false
|
|
- N8N_PORT=5678
|
|
- N8N_ENCRYPTION_KEY=dummy-key-for-extraction
|
|
volumes:
|
|
# Mount n8n's node_modules for extraction
|
|
- n8n_modules:/usr/local/lib/node_modules/n8n/node_modules
|
|
# Provide writable directory for n8n config
|
|
- n8n_config:/home/node/.n8n
|
|
# We don't need n8n to stay running, just to install modules
|
|
entrypoint: ["sh", "-c", "sleep 300"]
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "ls /usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base > /dev/null 2>&1"]
|
|
interval: 5s
|
|
timeout: 30s
|
|
retries: 20
|
|
|
|
# Extractor service that will read from the mounted volumes
|
|
node-extractor:
|
|
image: node:22-alpine
|
|
container_name: n8n-node-extractor
|
|
working_dir: /app
|
|
depends_on:
|
|
n8n-latest:
|
|
condition: service_healthy
|
|
volumes:
|
|
# Mount the n8n modules from the n8n container
|
|
- n8n_modules:/n8n-modules:ro
|
|
- n8n_custom:/n8n-custom:ro
|
|
# Mount our project files
|
|
- ./:/app
|
|
environment:
|
|
- NODE_ENV=development
|
|
- NODE_DB_PATH=/app/data/nodes-fresh.db
|
|
- N8N_MODULES_PATH=/n8n-modules
|
|
- N8N_CUSTOM_PATH=/n8n-custom
|
|
command: /bin/sh -c "apk add --no-cache sqlite && node /app/scripts/extract-from-docker.js"
|
|
|
|
volumes:
|
|
n8n_modules:
|
|
n8n_custom:
|
|
n8n_config: |