|  |  | 
					
						
						|  | FROM node:20-alpine | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | ARG N8N_VERSION=latest | 
					
						
						|  | ARG N8N_PATH=/home/node/.n8n | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | ENV N8N_USER_FOLDER=$N8N_PATH | 
					
						
						|  | ENV N8N_DISABLE_PRODUCTION_MAIN_PROCESS_BETA=true | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | ENV NODE_FUNCTION_ALLOW_EXTERNAL=puppeteer,playwright | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | ENV DB_TYPE=postgresdb | 
					
						
						|  | ENV DB_POSTGRESDB_HOST="" | 
					
						
						|  | ENV DB_POSTGRESDB_PORT=5432 | 
					
						
						|  | ENV DB_POSTGRESDB_DATABASE=postgres | 
					
						
						|  | ENV DB_POSTGRESDB_USER=postgres | 
					
						
						|  | ENV DB_POSTGRESDB_PASSWORD="" | 
					
						
						|  | ENV DB_POSTGRESDB_SSL=true | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | USER root | 
					
						
						|  | RUN apk add --no-cache \ | 
					
						
						|  | git \ | 
					
						
						|  | procps-ng \ | 
					
						
						|  | # Playwright 的瀏覽器依賴 (Alpine Linux) | 
					
						
						|  | udev \ | 
					
						
						|  | ttf-freefont \ | 
					
						
						|  | chromium \ | 
					
						
						|  | nss \ | 
					
						
						|  | freetype \ | 
					
						
						|  | harfbuzz \ | 
					
						
						|  | ca-certificates \ | 
					
						
						|  | dbus-glib \ | 
					
						
						|  | fontconfig | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | RUN npm install -g n8n@${N8N_VERSION} playwright puppeteer --omit=dev | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | RUN npx playwright install | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | RUN mkdir -p ${N8N_PATH} && \ | 
					
						
						|  | chown -R node:node /home/node /usr/local/lib/node_modules | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | USER node | 
					
						
						|  | WORKDIR /home/node | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | EXPOSE 5678 | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | CMD sh -c 'echo "-----------------------------------------------------" && \ | 
					
						
						|  | echo "n8n is running!" && \ | 
					
						
						|  | echo "Access it at: https://${SPACE_HOST}" && \ | 
					
						
						|  | echo "-----------------------------------------------------" && \ | 
					
						
						|  | n8n' |