feat(sso): Complete Authentik SSO stack with all OIDC integrations#310
Open
Problemsolver0070 wants to merge 1 commit intoillbnm:masterfrom
Open
feat(sso): Complete Authentik SSO stack with all OIDC integrations#310Problemsolver0070 wants to merge 1 commit intoillbnm:masterfrom
Problemsolver0070 wants to merge 1 commit intoillbnm:masterfrom
Conversation
- Add Nextcloud OIDC setup script (scripts/nextcloud-oidc-setup.sh) - Add Open WebUI OIDC env vars to AI stack - Add Portainer OAuth env vars to base stack - Add config/grafana/grafana.ini with OIDC config - Mount grafana.ini in monitoring stack compose - Enhance setup-authentik.sh with --dry-run, user groups (homelab-admins, homelab-users, media-users), Nextcloud and Open WebUI providers - Update .env.example with all OAuth client vars - Update SSO README with integration tutorial for new services - Fix Grafana role mapping to use project group names - Fix Outline redirect URI to use docs.DOMAIN Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author
|
USDT (TRC20) payment address: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the complete SSO stack (Issue #9) with Authentik as the unified identity provider, including all 6 required OIDC integrations, user group management, and ForwardAuth middleware.
Deliverables
stacks/sso/docker-compose.yml(already existed, unchanged)scripts/setup-authentik.sh— Enhanced with--dry-runpreview, user group creation (homelab-admins, homelab-users, media-users), and 6 OIDC providers (Grafana, Gitea, Outline, Portainer, Nextcloud, Open WebUI)config/grafana/grafana.ini+ env vars instacks/monitoring/docker-compose.ymlstacks/productivity/docker-compose.yml(already existed)scripts/nextcloud-oidc-setup.sh(Social Login app configuration)stacks/productivity/docker-compose.yml(already existed)stacks/ai/docker-compose.ymlstacks/base/docker-compose.ymlconfig/traefik/dynamic/authentik.yml(already existed, unchanged)Acceptance Criteria
auth.${DOMAIN}, admin login workssetup-authentik.shauto-creates all 6 OIDC Providers and outputs credentialssetup-authentik.sh --dry-runpreviews changes without modifying anythingconfig/grafana/grafana.iniscripts/nextcloud-oidc-setup.shFiles Changed
config/grafana/grafana.iniscripts/setup-authentik.sh--dry-run, groups, +2 providersscripts/nextcloud-oidc-setup.shstacks/ai/docker-compose.ymlstacks/base/docker-compose.ymlstacks/monitoring/docker-compose.ymlstacks/sso/.env.examplestacks/sso/README.md.env.exampleGPT-5.3 Codex Review Report
All code was reviewed by GPT-5.3 Codex for configuration correctness, security, and China network compatibility.
Configuration Correctness — ✅ PASS
${VAR}references match.env.exampleentries/login/generic_oauth, Gitea/user/oauth2/Authentik/callback, Outline/auth/oidc.callback, Nextcloud/apps/sociallogin/custom_oidc/authentik, Open WebUI/oauth/oidc/callback, Portainer//api/v3/)latest)ghcr.io/goauthentik/server:2024.8.3,postgres:16-alpine,redis:7-alpineX-authentik-*headers forwardedgrafana.inisections valid[auth.generic_oauth],[server],[security],[users],[analytics]Security — ✅ PASS
${ENV_VAR}references.env.examplewith empty placeholders.envat runtimeset -euo pipefailin all scriptssetup-authentik.shandnextcloud-oidc-setup.sh--requirepassflag setauth-default-access:ro, Portainer:ro; Worker needs write for outpost managementclient_type: confidentialopenid profile emailrequestedChina Network Compatibility — ✅ PASS
ghcr.ioimagesswr.cn-north-4.myhuaweicloud.comfallback documented in composeAUTHENTIK_URLderived fromAUTHENTIK_DOMAINenv varIssues Found: 0
No issues flagged. All checks passed.
Test Plan
docker compose -f stacks/sso/docker-compose.yml configvalidates without errorsdocker compose -f stacks/base/docker-compose.yml configvalidates without errorsdocker compose -f stacks/ai/docker-compose.yml configvalidates without errorsdocker compose -f stacks/monitoring/docker-compose.yml configvalidates without errors./scripts/setup-authentik.sh --dry-runpreviews all providers and groups./scripts/setup-authentik.shcreates providers and writes credentials to.env./scripts/nextcloud-oidc-setup.shconfigures Nextcloud Social LoginhealthyCloses #9
Generated/reviewed with: claude-opus-4-6
Reviewed with: GPT-5.3 Codex (0 issues found — see review report above)
🤖 Generated with Claude Code