FROM node:18-alpine # Install system dependencies RUN apk add --no-cache \ git \ python3 \ py3-pip \ make \ g++ \ build-base \ cairo-dev \ pango-dev \ postgresql-client # Set environment variables ENV N8N_HOST=0.0.0.0 \ N8N_PORT=7860 \ NODE_ENV=production \ N8N_ENCRYPTION_KEY=your-secure-key \ N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true # If using Hugging Face with Supabase, omit these: # ENV DB_TYPE=postgresdb \ # DB_POSTGRESDB_HOST=your-database-host \ # DB_POSTGRESDB_PORT=5432 \ # DB_POSTGRESDB_DATABASE=your-database-name \ # DB_POSTGRESDB_USER=your-database-user \ # DB_POSTGRESDB_PASSWORD=your-database-password # Install n8n globally RUN npm install -g n8n@1.76.1 # Create necessary directories RUN mkdir -p /root/.n8n/database \ /root/.n8n/config \ /root/.n8n/workflows \ /root/.n8n/logs \ && chmod -R 700 /root/.n8n # Set working directory WORKDIR /data # Expose the port EXPOSE 7860 # Start n8n CMD ["n8n", "start"]