n8n Gitea OIDC SSO 설정 문서화 (n8n-oidc hooks)
This commit is contained in:
67
services/n8n.md
Normal file
67
services/n8n.md
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
---
|
||||||
|
title: n8n
|
||||||
|
updated: 2026-04-16
|
||||||
|
tags: [services, n8n, oidc, gitea]
|
||||||
|
---
|
||||||
|
|
||||||
|
## 개요
|
||||||
|
|
||||||
|
워크플로 자동화. K3s `n8n` 네임스페이스.
|
||||||
|
|
||||||
|
- URL: https://n8n.inouter.com
|
||||||
|
- 이미지: `n8nio/n8n:latest`
|
||||||
|
- DB: `pgpool.db.svc.cluster.local:9999` (Patroni 직결, [[../infra/postgresql-ha|postgresql-ha]] 참조)
|
||||||
|
|
||||||
|
## Gitea OIDC SSO
|
||||||
|
|
||||||
|
[n8n-oidc](https://github.com/cweagans/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` 로 로컬 로그인
|
||||||
|
|
||||||
|
### 볼륨 마운트
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
volumes:
|
||||||
|
- name: oidc-hooks
|
||||||
|
configMap:
|
||||||
|
name: n8n-oidc-hooks
|
||||||
|
volumeMounts:
|
||||||
|
- name: oidc-hooks
|
||||||
|
mountPath: /opt/n8n-oidc/hooks.js
|
||||||
|
subPath: hooks.js
|
||||||
|
readOnly: true
|
||||||
|
```
|
||||||
|
|
||||||
|
## 관련
|
||||||
|
|
||||||
|
- [[../infra/postgresql-ha]] — pgpool-II 접속 경로
|
||||||
Reference in New Issue
Block a user