n8n_node_librebooking/Dockerfile.custom-nodes

49 lines
1.3 KiB
Docker

# Dockerfile für Custom Nodes Integration
# Verwendet das offizielle n8n Image und fügt den LibreBooking Node hinzu
#
# Build: docker build -f Dockerfile.custom-nodes -t n8n-librebooking .
# Run: docker run -p 5678:5678 n8n-librebooking
ARG N8N_VERSION=latest
FROM n8nio/n8n:${N8N_VERSION}
# Wechsle zu root für Installationen
USER root
# Erstelle Custom Nodes Verzeichnis
RUN mkdir -p /home/node/.n8n/custom/n8n-nodes-librebooking && \
chown -R node:node /home/node/.n8n/custom
# Arbeitsverzeichnis setzen
WORKDIR /home/node/.n8n/custom/n8n-nodes-librebooking
# Kopiere Custom Node Dateien
COPY --chown=node:node custom-nodes/package.json .
COPY --chown=node:node custom-nodes/tsconfig.json .
COPY --chown=node:node custom-nodes/index.ts .
COPY --chown=node:node custom-nodes/credentials/ ./credentials/
COPY --chown=node:node custom-nodes/nodes/ ./nodes/
# Installiere Dependencies und baue den Node
RUN npm install && npm run build
# Wechsle zurück zum node User
USER node
# Arbeitsverzeichnis für n8n setzen
WORKDIR /home/node
# Umgebungsvariablen
ENV N8N_CUSTOM_EXTENSIONS=/home/node/.n8n/custom \
N8N_COMMUNITY_NODES_ENABLED=true
# n8n Port
EXPOSE 5678
# Healthcheck
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \
CMD wget -qO- http://localhost:5678/healthz || exit 1
# Startbefehl
CMD ["n8n", "start"]