broken: Added initial support for authelia + lldap oidc for nextcloud
This commit is contained in:
@@ -42,7 +42,7 @@
|
||||
"machineLearning": {
|
||||
"enabled": true,
|
||||
"urls": [
|
||||
"http://ryu:3003",
|
||||
"http://ryu.darksailor.dev:3003",
|
||||
"http://localhost:3003"
|
||||
],
|
||||
}
|
||||
@@ -51,7 +51,7 @@
|
||||
'';
|
||||
mode = "0400";
|
||||
owner = "immich";
|
||||
restartUnits = ["immich-server.service" "authelia-darksailor.service"];
|
||||
restartUnits = ["immich-server.service"];
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -73,6 +73,7 @@
|
||||
enable = true;
|
||||
mediaLocation = "/media/photos/immich";
|
||||
accelerationDevices = null;
|
||||
machine-learning.enable = false;
|
||||
environment = {
|
||||
IMMICH_CONFIG_FILE = config.sops.templates."immich-config.json".path;
|
||||
};
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
}: {
|
||||
sops = {
|
||||
secrets."nextcloud/adminpass".owner = config.users.users.nextcloud.name;
|
||||
secrets."authelia/oidc/nextcloud/client_id".owner = config.users.users.nextcloud.name;
|
||||
secrets."authelia/oidc/nextcloud/client_secret".owner = config.users.users.nextcloud.name;
|
||||
};
|
||||
imports = [
|
||||
"${fetchTarball {
|
||||
@@ -17,7 +19,7 @@
|
||||
enable = true;
|
||||
package = pkgs.nextcloud31;
|
||||
extraApps = {
|
||||
inherit (config.services.nextcloud.package.packages.apps) contacts calendar bookmarks;
|
||||
inherit (config.services.nextcloud.package.packages.apps) contacts calendar bookmarks user_oidc;
|
||||
};
|
||||
extraAppsEnable = true;
|
||||
hostName = "cloud.darksailor.dev";
|
||||
@@ -32,6 +34,7 @@
|
||||
memcached = true;
|
||||
};
|
||||
webserver = "caddy";
|
||||
settings = {};
|
||||
};
|
||||
# caddy = {
|
||||
# virtualHosts."cloud.darksailor.dev".extraConfig = ''
|
||||
@@ -44,5 +47,57 @@
|
||||
# port = 8080; # NOT an exposed port
|
||||
# }
|
||||
# ];
|
||||
authelia.instances.darksailor = {
|
||||
settings = {
|
||||
definitions = {
|
||||
user_attributes = {
|
||||
is_nextcloud_admin = {
|
||||
expression = ''"nextcloud-admins" in groups"'';
|
||||
};
|
||||
};
|
||||
};
|
||||
identity_providers = {
|
||||
oidc = {
|
||||
claims_policies = {
|
||||
custom_claims = {
|
||||
is_nextcloud_admin = {};
|
||||
};
|
||||
};
|
||||
scopes = {
|
||||
nextcloud_userinfo = {
|
||||
claims = ["is_nextcloud_admin"];
|
||||
};
|
||||
};
|
||||
clients = [
|
||||
{
|
||||
client_name = "Nextcloud";
|
||||
client_id = "nextcloud";
|
||||
client_secret = ''{{ secret "${config.sops.secrets."authelia/oidc/nextcloud/client_secret".path}" }}'';
|
||||
public = false;
|
||||
authorization_policy = "one_factor";
|
||||
require_pkce = true;
|
||||
pkce_challenge_method = "S256";
|
||||
claims_policy = "nextcloud_userinfo";
|
||||
redirect_uris = [
|
||||
"https://cloud.darksailor.dev/apps/oidc_login/oidc"
|
||||
];
|
||||
scopes = [
|
||||
"openid"
|
||||
"profile"
|
||||
"email"
|
||||
"groups"
|
||||
"nextcloud_userinfo"
|
||||
];
|
||||
response_types = ["code"];
|
||||
grant_types = ["authorization_code"];
|
||||
# access_token_signed_response_alg = "none";
|
||||
userinfo_signed_response_alg = "none";
|
||||
token_endpoint_auth_method = "client_secret_basic";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user