一键导入
n8n-self-hosted-diagnostics
npm으로 설치된 n8n 셀프호스트 상태 진단 + launchd 관리 스킬
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
npm으로 설치된 n8n 셀프호스트 상태 진단 + launchd 관리 스킬
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
{{AGENT_NAME}} brain signal architecture — event bus, signal processor, awareness reporter, brain monitor
TDD-PDCA plan for building a self-replicating branching agent in {{AGENT_NAME}}. 단일 에이전트가 스스로 서브에이전트를 분기하고, 결과를 수렴시키는 구조.
Integrate {{AGENT_NAME}} with ACP (Agent Client Protocol) agents. Reverse-engineered from goose's Rust ACP provider implementation.
Maintain .{{AGENT_NAME_LOWER}} as an Obsidian vault — graph connectivity overhaul (P-layer mesh, skill clusters, SEO article web), broken link detection, backlink density verification via Obsidian CLI, filename deduplication, bidirectional linking, auto-generated orphan management, cron output graph bloat prevention, and Obsidian compatibility.
AI Trend Collection & Filtering — collect GitHub trending repos, score via 5-axis philosophy filter, evaluate, apply, and retire.
RSS 피드 모니터링 → SEO 기사 수집·분석·트렌드 리포트
title: n8n Self-Hosted Diagnostics name: n8n-self-hosted-diagnostics description: npm으로 설치된 n8n 셀프호스트 상태 진단 + launchd 관리 스킬 type: skill space: outcome tags: [skill, n8n, self-hosted, diagnostics] created: 2026-06-01 updated: 2026-06-01 links:
npm으로 설치된 n8n 셀프호스트의 상태를 진단하고 launchd로 관리하는 스킬.
/opt/homebrew/lib/node_modules/n8n)/opt/homebrew/bin/n8n → symlink to npm package~/.n8n/~/.n8n/database.sqlite (SQLite)~/.n8n/config (JSON — encryptionKey 포함)~/Library/LaunchAgents/ai.{{AGENT_NAME_LOWER}}.n8n.plist~/P6-prefrontal/logs/n8n.log, n8n.error.logai.{{AGENT_NAME_LOWER}}.n8nnpm update -g n8n (Homebrew formula 없음)# 상태 확인
launchctl list | grep n8n
# 수동 시작
launchctl start ai.{{AGENT_NAME_LOWER}}.n8n
# 수동 정지
launchctl stop ai.{{AGENT_NAME_LOWER}}.n8n
# 재시작
launchctl stop ai.{{AGENT_NAME_LOWER}}.n8n && sleep 2 && launchctl start ai.{{AGENT_NAME_LOWER}}.n8n
# plist reload
launchctl unload ~/Library/LaunchAgents/ai.{{AGENT_NAME_LOWER}}.n8n.plist
launchctl load ~/Library/LaunchAgents/ai.{{AGENT_NAME_LOWER}}.n8n.plist
재부팅 시 RunAtLoad: true로 자동 시작됩니다.
# 1. launchd 상태
launchctl list | grep n8n
# 2. 프로세스 확인
ps aux | grep n8n | grep -v grep
# 3. 포트 LISTEN 확인
lsof -i :5678
# 4. HTTP 응답 확인
curl -s -o /dev/null -w "%{http_code}" http://localhost:5678
# 5. 데이터 디렉토리
ls -la ~/.n8n/
# 6. 로그 확인
tail -20 ~/P6-prefrontal/logs/n8n.log
tail -20 ~/P6-prefrontal/logs/n8n.error.log
n8n은 bcrypt 해시 사용. UI "Forgot my password"가 작동하지 않는 경우 SQLite에서 직접 bcrypt 해시를 교체.
최신 n8n (2025~2026)은 $2b$ prefix도 인식함.
import bcrypt, sqlite3, os
DB = os.path.expanduser('~/.n8n/database.sqlite')
new_password = '새비밀번호'
# bcrypt 해시 생성
salt = bcrypt.gensalt(rounds=10)
hashed_str = bcrypt.hashpw(new_password.encode(), salt).decode()
# 유저 확인
conn = sqlite3.connect(DB)
cur = conn.execute('SELECT id, email FROM "user"')
for row in cur.fetchall():
print(row)
# 비밀번호 업데이트
conn.execute('UPDATE "user" SET password = ? WHERE email = ?', (hashed_str, '대상@이메일.com'))
conn.commit()
# 검증
row = conn.execute('SELECT password FROM "user" WHERE email = ?', ('대상@이메일.com',)).fetchone()
print(f'해시 검증: {bcrypt.checkpw(new_password.encode(), row[0].encode())}')
conn.close()
print('완료 — http://localhost:5678 에서 로그인 시도')
躬行 결과 (2026-06-01):
user@YOUR_DOMAIN (disabled=true 상태)$2b$ 해시로 교체 후 바로 로그인 성공rounds=10 (n8n 기본값)"user" 테이블명은 따옴표 필수 (SQLite 키워드 충돌)disabled=true 계정도 password만 교체하면 복구 가능sqlite3 ~/.n8n/database.sqlite "SELECT id, name, active FROM workflow_entity LIMIT 10;"
workflow의 Discord webhook이 403 Forbidden을 반환하는 경우:
확인: curl -X POST -H 'Content-Type: application/json' -d '{"content":"test"}' <webhook_url>
403 반환 → webhook 무효화. 새 webhook URL 발급 필요.n8n의 encryptionKey는 credential 안전화에 사용됨. config 파일 유실 시 n8n이 시작되지 않음.
# 현재 버전 확인
n8n --version
# 업데이트 확인
npm outdated -g n8n
# 업데이트 실행
npm update -g n8n
# 또는 특정 버전
npm install -g n8n@latest
참고: n8n은 Homebrew formula가 없음 (brew search n8n → n8n-mcp만 있음). npm으로 관리해야 합니다.
증상: n8n's port 5678 is already in use 로그 반복 + launchd 재시작 루프.
원인: n8n이 plist 외 경로로 이미 실행 중일 때 충돌.
해결:
# 기존 프로세스 중지
kill $(ps aux | grep 'n8n' | grep -v grep | awk '{print $2}')
# plist reload
launchctl unload ~/Library/LaunchAgents/ai.{{AGENT_NAME_LOWER}}.n8n.plist
launchctl load ~/Library/LaunchAgents/ai.{{AGENT_NAME_LOWER}}.n8n.plist