بنقرة واحدة
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