feat(koi): sso for wakapi
This commit is contained in:
parent
5bf0d327c3
commit
8b12efb8c9
3 changed files with 21 additions and 14 deletions
|
@ -4,6 +4,7 @@ let
|
||||||
UID = 1115;
|
UID = 1115;
|
||||||
in {
|
in {
|
||||||
desu.secrets.wakapi-env.owner = "wakapi";
|
desu.secrets.wakapi-env.owner = "wakapi";
|
||||||
|
desu.secrets.wakapi-proxy-env.owner = "wakapi";
|
||||||
|
|
||||||
users.users.wakapi = {
|
users.users.wakapi = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
|
@ -33,13 +34,15 @@ in {
|
||||||
WAKAPI_LISTEN_IPV4 = "0.0.0.0";
|
WAKAPI_LISTEN_IPV4 = "0.0.0.0";
|
||||||
WAKAPI_LISTEN_IPV6 = "-";
|
WAKAPI_LISTEN_IPV6 = "-";
|
||||||
WAKAPI_ALLOW_SIGNUP = "false";
|
WAKAPI_ALLOW_SIGNUP = "false";
|
||||||
WAKAPI_DISABLE_FRONTPAGE = "false";
|
WAKAPI_DISABLE_FRONTPAGE = "true";
|
||||||
WAKAPI_MAIL_SENDER = "waka.stupid.fish <alina@tei.su>";
|
WAKAPI_MAIL_ENABLED = "true";
|
||||||
WAKAPI_MAIL_SMTP_HOST = "smtp.mail.me.com";
|
WAKAPI_MAIL_SENDER = "waka.stupid.fish <noreply@stupid.fish>";
|
||||||
WAKAPI_MAIL_SMTP_PORT = "587";
|
|
||||||
WAKAPI_MAIL_SMTP_USERNAME = "teidesu@icloud.com";
|
|
||||||
WAKAPI_MAIL_SMTP_TLS = "false";
|
|
||||||
WAKAPI_AVATAR_URL_TEMPLATE = "https://t.me/i/userpic/320/{username}.jpg";
|
WAKAPI_AVATAR_URL_TEMPLATE = "https://t.me/i/userpic/320/{username}.jpg";
|
||||||
|
WAKAPI_SUPPORT_CONTACT = "alina@tei.su";
|
||||||
|
|
||||||
|
WAKAPI_TRUSTED_HEADER_AUTH = "true";
|
||||||
|
WAKAPI_TRUSTED_HEADER_AUTH_KEY = "X-Forwarded-Preferred-Username";
|
||||||
|
WAKAPI_TRUST_REVERSE_PROXY_IPS = "172.17.0.0/16";
|
||||||
};
|
};
|
||||||
|
|
||||||
environmentFiles = [
|
environmentFiles = [
|
||||||
|
@ -47,22 +50,26 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
user = "${builtins.toString UID}";
|
user = "${builtins.toString UID}";
|
||||||
|
|
||||||
extraOptions = [
|
|
||||||
"--mount=type=bind,source=/srv/wakapi,target=/data"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
desu.openid-proxy.services.wakapi = {
|
||||||
"d /srv/wakapi 0700 ${builtins.toString UID} ${builtins.toString UID} -"
|
clientId = "300318162728058886";
|
||||||
];
|
domain = "waka.stupid.fish";
|
||||||
|
upstream = "http://wakapi.docker:3000";
|
||||||
|
envSecret = "wakapi-proxy-env";
|
||||||
|
uid = UID;
|
||||||
|
extra = [
|
||||||
|
"--skip-auth-route=POST=^/((v1/)?users/[^/]+/)?heartbeat(s|s\.bulk)?$"
|
||||||
|
"--skip-auth-route=GET=^/api/health$"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
services.nginx.virtualHosts."waka.stupid.fish" = {
|
services.nginx.virtualHosts."waka.stupid.fish" = {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
useACMEHost = "stupid.fish";
|
useACMEHost = "stupid.fish";
|
||||||
|
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyPass = "http://wakapi.docker:3000$request_uri";
|
proxyPass = "http://wakapi-oidc.docker$request_uri";
|
||||||
proxyWebsockets = true;
|
proxyWebsockets = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Binary file not shown.
BIN
secrets/wakapi-proxy-env.age
Normal file
BIN
secrets/wakapi-proxy-env.age
Normal file
Binary file not shown.
Loading…
Reference in a new issue