docker compose
This commit is contained in:
42
docker/Dockerfile
Normal file
42
docker/Dockerfile
Normal file
@@ -0,0 +1,42 @@
|
||||
FROM docker.n8n.io/n8nio/n8n:latest
|
||||
|
||||
USER root
|
||||
|
||||
RUN apk update && apk add --no-cache \
|
||||
hugo \
|
||||
chromium \
|
||||
nss \
|
||||
glib \
|
||||
freetype \
|
||||
freetype-dev \
|
||||
harfbuzz \
|
||||
ca-certificates \
|
||||
ttf-freefont \
|
||||
udev \
|
||||
ttf-liberation \
|
||||
font-noto-emoji \
|
||||
python3 \
|
||||
make \
|
||||
g++ \
|
||||
sqlite-dev \
|
||||
sqlite \
|
||||
py3-distutils-extra
|
||||
|
||||
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
|
||||
PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
|
||||
|
||||
COPY docker-custom-entrypoint.sh /docker-custom-entrypoint.sh
|
||||
RUN chmod +x /docker-custom-entrypoint.sh && \
|
||||
chown node:node /docker-custom-entrypoint.sh
|
||||
|
||||
RUN mkdir -p /opt/n8n-custom-nodes && \
|
||||
cd /opt/n8n-custom-nodes && \
|
||||
npm install n8n-nodes-puppeteer \
|
||||
n8n-nodes-sqlite-memory && \
|
||||
npm rebuild sqlite3 && \
|
||||
chown -R node:node /opt/n8n-custom-nodes
|
||||
|
||||
USER node
|
||||
|
||||
ENTRYPOINT ["/docker-custom-entrypoint.sh"]
|
||||
|
||||
18
docker/build
Executable file
18
docker/build
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
VERSION=":latest"
|
||||
|
||||
while getopts ":r" opt; do
|
||||
case ${opt} in
|
||||
r )
|
||||
VERSION=":release"
|
||||
;;
|
||||
\? )
|
||||
echo "Invalid option: -$OPTARG" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo "Version $VERSION"
|
||||
docker build --no-cache -t docker.odoo4projects.com/od8n/n8n$VERSION .
|
||||
|
||||
37
docker/docker-custom-entrypoint.sh
Normal file
37
docker/docker-custom-entrypoint.sh
Normal file
@@ -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 "$@"
|
||||
|
||||
22
docker/push
Executable file
22
docker/push
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
VERSION=":latest"
|
||||
|
||||
while getopts ":r" opt; do
|
||||
case ${opt} in
|
||||
r )
|
||||
VERSION=":release"
|
||||
;;
|
||||
\? )
|
||||
echo "Invalid option: -$OPTARG" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo "Version $VERSION"
|
||||
|
||||
#docker login docker.odoo4projects.com
|
||||
|
||||
docker push docker.odoo4projects.com/od8n/n8n$VERSION
|
||||
|
||||
Reference in New Issue
Block a user