一、本地高級部署
1.下載
docker pull docker.n8n.io/n8nio/n8n
2.運行
docker volume create n8n_data
docker run -dit ??--name n8n ?-p 5678:5678 ?-v n8n_data:/home/node/.n8n ?-e N8N_SECURE_COOKIE=false ?-e N8N_RUNNERS_ENABLED=true -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true -e NODE_FUNCTION_ALLOW_EXTERNAL=iconv-lite?-e DB_TYPE=postgresdb ?-e DB_POSTGRESDB_DATABASE=langfuse_db -e DB_POSTGRESDB_HOST=192.168.1.101 -e DB_POSTGRESDB_PORT=5432 -e DB_POSTGRESDB_USER=langfuse -e DB_POSTGRESDB_SCHEMA=n8n -e DB_POSTGRESDB_PASSWORD=1234~?-e GENERIC_TIMEZONE="Asia/Shanghai" ??-e TZ="Asia/Shanghai"?--restart=always?docker.n8n.io/n8nio/n8n
2.1.部分參數說明
-e N8N_SECURE_COOKIE=false:
這個選項控制是否啟用安全 Cookie 標志。如果設置為 true,n8n 會將 Secure 屬性添加到其 session cookies 中,這意味著 cookies 只能通過 HTTPS 協議發送。當設置為 false 時,即使你的站點通過 HTTP 訪問,cookies 也會被發送。這在開發環境中可能是有用的,但在生產環境中強烈建議保持默認值 true 來增強安全性。
-e N8N_RUNNERS_ENABLED=true:
啟用工作流運行器(Runners)。n8n 支持一種稱為“運行器”的機制,允許你并行執行工作流的不同部分,從而可能提高性能和效率。當你希望利用這種并行處理能力時,可以將此選項設置為 true。默認情況下,該選項可能是關閉的,因此需要顯式開啟。
-e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true:
當設置為 true 時,這個選項確保 n8n 檢查并強制實施主設置文件的權限。這是為了防止潛在的安全風險,比如敏感信息泄露給不應該訪問這些信息的用戶。如果 n8n 發現設置文件的權限不符合預期(例如,文件對所有用戶可讀),它可能會拒絕啟動或者給出警告。這對于保護你的 n8n 實例免受未授權訪問非常重要,尤其是在多用戶系統中。
-e NODE_FUNCTION_ALLOW_EXTERNAL=iconv-lite??
通過npm安裝的插件
-e DB_TYPE=postgresdb ?-e DB_POSTGRESDB_DATABASE=langfuse_db -e DB_POSTGRESDB_HOST=192.168.1.101 -e DB_POSTGRESDB_PORT=5432 -e DB_POSTGRESDB_USER=langfuse -e DB_POSTGRESDB_SCHEMA=n8n -e DB_POSTGRESDB_PASSWORD=1234~???postgresql數據庫配置
-e GENERIC_TIMEZONE="Asia/Shanghai" ??-e TZ="Asia/Shanghai"??時區
2.2.n8n的對應表結構
1. 用戶與認證相關表
user: 存儲系統中的用戶信息,包括用戶名、密碼哈希等。
auth_identity: 存儲用戶的認證信息,可能用于多因素認證或外部認證服務。
auth_provider_sync_history: 記錄認證提供者同步的歷史記錄。
invalid_auth_token: 存儲無效的認證令牌信息。
2. 工作流相關表
workflow_entity: 存儲工作流的基本信息,如名稱、描述、JSON配置等。
workflows_tags: 關聯工作流和標簽,實現工作流的分類管理。
workflow_history: 記錄工作流執行的歷史信息。
workflow_statistics: 存儲工作流的統計信息,如執行次數、成功/失敗次數等。
3. 執行相關表
execution_entity: 存儲執行實例的基本信息。
execution_data: 存儲執行過程中的數據。
execution_metadata: 存儲執行元數據。
execution_annotations: 存儲執行注釋信息。
execution_annotation_tags: 關聯執行注釋和標簽。
4. 資源與配置相關表
credentials_entity: 存儲憑證信息,用于訪問外部服務。
shared_credentials: 共享憑證信息,允許多個工作流使用相同的憑證。
installed_nodes: 存儲已安裝的節點信息。
installed_packages: 存儲已安裝的包信息。
settings: 存儲系統的全局設置。
variables: 存儲變量信息,可以在工作流中引用。
5. 文件夾與標簽相關表
folder: 存儲文件夾信息,用于組織工作流。
folder_tag: 關聯文件夾和標簽。
tag_entity: 存儲標簽信息。
6. 測試相關表
test_case_execution: 存儲測試用例執行信息。
test_definition: 存儲測試定義信息。
test_metric: 存儲測試度量信息。
test_run: 存儲測試運行信息。
7. 事件與洞察相關表
event_destinations: 存儲事件目的地信息。
insights_by_period: 按周期存儲洞察信息。
insights_metadata: 存儲洞察元數據。
insights_raw: 存儲原始洞察數據。
8. 其他表
migrations: 記錄數據庫遷移歷史。
project: 存儲項目信息。
project_relation: 關聯項目和用戶。
role: 存儲角色信息,用于權限管理。
shared_workflow: 存儲共享工作流信息。
webhook_entity: 存儲Webhook實體信息。
3.可視化界面
http://localhost:5678/