Files
obsidian/services/n8n.md

1.7 KiB

title, updated, tags
title updated tags
n8n 2026-04-16
services
n8n
oidc
gitea

개요

워크플로 자동화. K3s n8n 네임스페이스.

Gitea OIDC SSO

n8n-oidc 사용 — n8n external hooks 방식, enterprise 불필요.

구성 요소

리소스 내용
ConfigMap n8n-oidc-hooks hooks.js (n8n-oidc 프로젝트 원본)
Secret n8n-oidc-secret OIDC_CLIENT_ID, OIDC_CLIENT_SECRET
ConfigMap n8n-app-config OIDC 관련 env vars

환경변수 (n8n-app-config)

EXTERNAL_HOOK_FILES=/opt/n8n-oidc/hooks.js
OIDC_ISSUER_URL=https://gitea.inouter.com
OIDC_REDIRECT_URI=https://n8n.inouter.com/auth/oidc/callback
OIDC_SCOPES=openid profile email
N8N_ADDITIONAL_NON_UI_ROUTES=auth
EXTERNAL_FRONTEND_HOOKS_URLS=/assets/oidc-frontend-hook.js

Gitea OAuth2 앱

  • name: n8n
  • redirect URI: https://n8n.inouter.com/auth/oidc/callback
  • confidential client: yes
  • Gitea admin → Settings → Applications 에서 관리

동작

  1. n8n 로그인 페이지에 "Sign in with SSO" 버튼 표시
  2. 클릭 → Gitea authorize → 콜백 → JIT user provisioning (첫 유저 = owner)
  3. SSO 우회: https://n8n.inouter.com/signin?showLogin=true 로 로컬 로그인

볼륨 마운트

volumes:
  - name: oidc-hooks
    configMap:
      name: n8n-oidc-hooks
volumeMounts:
  - name: oidc-hooks
    mountPath: /opt/n8n-oidc/hooks.js
    subPath: hooks.js
    readOnly: true

관련