website/integrations: add Organizr integration (#3802)
* Add new integration application category for Dashboard and initialize organizr service template * added images and additional info for organizr integration * alphabetized application integration categories * alphabetized integration federation and social login categories * forgot to make website-lint-fix :/ * revert mention of organizr in generic setup Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> Co-authored-by: Jens Langhammer <jens.langhammer@beryju.org>
|
@ -4,7 +4,7 @@ title: Generic Setup
|
||||||
|
|
||||||
### Create User/Group
|
### Create User/Group
|
||||||
|
|
||||||
1. Create a new user account to test LDAP bind under _Directory_ -> _Users_ -> _Create_, in this example called `ldapservice`.
|
1. Create a new user account to bind with under _Directory_ -> _Users_ -> _Create_, in this example called `ldapservice`.
|
||||||
|
|
||||||
Note the DN of this user will be `cn=ldapservice,ou=users,dc=ldap,dc=goauthentik,dc=io`
|
Note the DN of this user will be `cn=ldapservice,ou=users,dc=ldap,dc=goauthentik,dc=io`
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,78 @@
|
||||||
|
---
|
||||||
|
title: organizr
|
||||||
|
---
|
||||||
|
|
||||||
|
<span class="badge badge--secondary">Support level: Community</span>
|
||||||
|
|
||||||
|
## What is organizr
|
||||||
|
|
||||||
|
From https://github.com/causefx/Organizr
|
||||||
|
|
||||||
|
:::note
|
||||||
|
Organizr allows you to setup "Tabs" that will be loaded all in one webpage.
|
||||||
|
:::
|
||||||
|
This integration leverages authentik's LDAP for the identity provider to achieve an SSO experience. See [ldap provider generic setup](../../../docs/providers/ldap/generic_setup) for setting up the LDAP provider.
|
||||||
|
|
||||||
|
## Preparation
|
||||||
|
|
||||||
|
The following placeholders will be used:
|
||||||
|
|
||||||
|
- `organizr.company` is the FQDN of the Service install.
|
||||||
|
- `authentik.company` is the FQDN of the authentik install.
|
||||||
|
|
||||||
|
Create a new user account _(or re-use an existing)_ for organizr to use for LDAP bind under _Directory_ -> _Users_ -> _Create_, in this example called `ldapservice`.
|
||||||
|
|
||||||
|
Note the DN of this user will be `cn=ldapservice,ou=users,dc=ldap,dc=goauthentik,dc=io`
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
_Optionally_, create a new group like `organizr users` to scope access to the organizr application.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## authentik Configuration
|
||||||
|
|
||||||
|
1. Create a new Proxy Provider for `https://organizr.company`
|
||||||
|
![](./organizr1.png)
|
||||||
|
_Optionally_, add the regular expression to allow api calls in the advanced protocol settings.
|
||||||
|
![](./organizr2.png)
|
||||||
|
2. Create a new Application for the `https://organizr.company` Provider.
|
||||||
|
![](./organizr3.png)
|
||||||
|
:::tip
|
||||||
|
_Optionally_, bind the group to control access to the organizr to the application.
|
||||||
|
![](./organizr4.png)
|
||||||
|
|
||||||
|
![](./organizr5.png)
|
||||||
|
::: 3. Add the Application to the authentik Embedded Outpost.
|
||||||
|
|
||||||
|
## organizr Configuration
|
||||||
|
|
||||||
|
:::caution
|
||||||
|
Ensure any local usernames/email addresses in organizr do not conflict with usernames/email addresses in authentik.
|
||||||
|
:::
|
||||||
|
|
||||||
|
1. Enable Auth Proxy in organizr _system settings_ -> _main_ -> _Auth Proxy_
|
||||||
|
|
||||||
|
Auth Proxy Header Name: `X-authentik-username`
|
||||||
|
Auth Proxy Whitelist: _your network subnet in CIDR notation IE_ `10.0.0.0/8`
|
||||||
|
Auth Proxy Header Name for Email: `X-authentik-email`
|
||||||
|
Logout URL: `/outpost.goauthentik.io/sign_out`
|
||||||
|
![](./organizr6.png)
|
||||||
|
|
||||||
|
2. Setup Authentication in organizr _system settings_ -> _main_ -> _Authentication_
|
||||||
|
|
||||||
|
Authentication Type: `Organizr DB + Backend`
|
||||||
|
Authentication Backend: `Ldap`
|
||||||
|
Host Address: `<LDAP Outpost IP address:port>`
|
||||||
|
Host Base DN: `dc=ldap,dc=goauthentik,dc=io`
|
||||||
|
Account Prefix: `cn=`
|
||||||
|
Account Suffix: `,ou=users,dc=ldap,dc=goauthentik,dc=io`
|
||||||
|
Bind Username: `cn=ldapservice,ou=users,dc=ldap,dc=goauthentik,dc=io`
|
||||||
|
Bind Password: `<LDAP bind account password>`
|
||||||
|
LDAP Backend Type: `OpenLDAP`
|
||||||
|
![](./organizr7.png)
|
||||||
|
|
||||||
|
:::info
|
||||||
|
Access for authentik users is managed locally within organizr under _User Management_. By default, new users are assigned the `User` group.
|
||||||
|
:::
|
||||||
|
:::tip
|
||||||
|
Consider front-ending your application with a [forward auth provider](../../../docs/providers/proxy/forward_auth#nginx) for an SSO experience.
|
||||||
|
:::
|
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 77 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 109 KiB |
|
@ -8,6 +8,56 @@ module.exports = {
|
||||||
id: "services/index",
|
id: "services/index",
|
||||||
},
|
},
|
||||||
items: [
|
items: [
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
label: "Chat, Communication & Collaboration",
|
||||||
|
items: [
|
||||||
|
"services/bookstack/index",
|
||||||
|
"services/hedgedoc/index",
|
||||||
|
"services/kimai/index",
|
||||||
|
"services/matrix-synapse/index",
|
||||||
|
"services/nextcloud/index",
|
||||||
|
"services/onlyoffice/index",
|
||||||
|
"services/paperless-ng/index",
|
||||||
|
"services/rocketchat/index",
|
||||||
|
"services/roundcube/index",
|
||||||
|
"services/vikunja/index",
|
||||||
|
"services/wekan/index",
|
||||||
|
"services/wiki-js/index",
|
||||||
|
"services/zulip/index",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
label: "Cloud Providers",
|
||||||
|
items: [
|
||||||
|
"services/aws/index",
|
||||||
|
"services/oracle-cloud/index",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
label: "Dashboards",
|
||||||
|
items: ["services/organizr/index"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
label: "Platforms",
|
||||||
|
items: [
|
||||||
|
"services/budibase/index",
|
||||||
|
"services/wordpress/index",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
label: "Hypervisors / Orchestrators",
|
||||||
|
items: [
|
||||||
|
"services/portainer/index",
|
||||||
|
"services/proxmox-ve/index",
|
||||||
|
"services/rancher/index",
|
||||||
|
"services/vmware-vcenter/index",
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
label: "Infrastructure",
|
label: "Infrastructure",
|
||||||
|
@ -30,12 +80,13 @@ module.exports = {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
label: "Hypervisors / Orchestrators",
|
label: "Miscellaneous",
|
||||||
items: [
|
items: [
|
||||||
"services/portainer/index",
|
"services/home-assistant/index",
|
||||||
"services/proxmox-ve/index",
|
"services/node-red/index",
|
||||||
"services/rancher/index",
|
"services/sonarr/index",
|
||||||
"services/vmware-vcenter/index",
|
"services/tautulli/index",
|
||||||
|
"services/jellyfin/index",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -48,33 +99,6 @@ module.exports = {
|
||||||
"services/zabbix/index",
|
"services/zabbix/index",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
type: "category",
|
|
||||||
label: "Cloud Providers",
|
|
||||||
items: [
|
|
||||||
"services/aws/index",
|
|
||||||
"services/oracle-cloud/index",
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "category",
|
|
||||||
label: "Chat, Communication & Collaboration",
|
|
||||||
items: [
|
|
||||||
"services/bookstack/index",
|
|
||||||
"services/hedgedoc/index",
|
|
||||||
"services/kimai/index",
|
|
||||||
"services/matrix-synapse/index",
|
|
||||||
"services/nextcloud/index",
|
|
||||||
"services/onlyoffice/index",
|
|
||||||
"services/paperless-ng/index",
|
|
||||||
"services/rocketchat/index",
|
|
||||||
"services/roundcube/index",
|
|
||||||
"services/vikunja/index",
|
|
||||||
"services/wekan/index",
|
|
||||||
"services/wiki-js/index",
|
|
||||||
"services/zulip/index",
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
label: "Platforms",
|
label: "Platforms",
|
||||||
|
@ -83,15 +107,6 @@ module.exports = {
|
||||||
"services/wordpress/index",
|
"services/wordpress/index",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
type: "category",
|
|
||||||
label: "Developer tools",
|
|
||||||
items: [
|
|
||||||
"services/sentry/index",
|
|
||||||
"services/sssd/index",
|
|
||||||
"services/weblate/index",
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
label: "Version Control Systems",
|
label: "Version Control Systems",
|
||||||
|
@ -102,17 +117,6 @@ module.exports = {
|
||||||
"services/gitlab/index",
|
"services/gitlab/index",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
type: "category",
|
|
||||||
label: "Miscellaneous",
|
|
||||||
items: [
|
|
||||||
"services/home-assistant/index",
|
|
||||||
"services/node-red/index",
|
|
||||||
"services/sonarr/index",
|
|
||||||
"services/tautulli/index",
|
|
||||||
"services/jellyfin/index",
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -126,7 +130,24 @@ module.exports = {
|
||||||
"Sources of users which can be federated with authentik",
|
"Sources of users which can be federated with authentik",
|
||||||
},
|
},
|
||||||
items: [
|
items: [
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
label: "Directory syncronization",
|
||||||
|
items: [
|
||||||
|
"sources/active-directory/index",
|
||||||
|
"sources/freeipa/index",
|
||||||
|
],
|
||||||
|
},
|
||||||
"sources/general",
|
"sources/general",
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
label: "Protocols",
|
||||||
|
items: [
|
||||||
|
"sources/ldap/index",
|
||||||
|
"sources/oauth/index",
|
||||||
|
"sources/saml/index",
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
label: "Social Logins",
|
label: "Social Logins",
|
||||||
|
@ -142,23 +163,6 @@ module.exports = {
|
||||||
"sources/twitter/index",
|
"sources/twitter/index",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
type: "category",
|
|
||||||
label: "Directory syncronization",
|
|
||||||
items: [
|
|
||||||
"sources/active-directory/index",
|
|
||||||
"sources/freeipa/index",
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "category",
|
|
||||||
label: "Protocols",
|
|
||||||
items: [
|
|
||||||
"sources/ldap/index",
|
|
||||||
"sources/oauth/index",
|
|
||||||
"sources/saml/index",
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|