infrastructure/machines/compute01/outline.nix
Tom Hubrecht 5622bc3748 feat(dgn-secrets): Add a matches option
This option allows specifying regexes tied to options.
When a secret matches a pattern, the the options are applied to it.
2023-10-02 22:48:18 +02:00

58 lines
1.4 KiB
Nix

{ config, ... }:
let host = "docs.dgnum.eu";
in {
services.outline = {
enable = true;
storage = {
region = "garage";
uploadBucketUrl = "https://s3.dgnum.eu";
uploadBucketName = "outline-dgnum";
accessKey = "GKb3aa6f6d6627204e8e53729c";
secretKeyFile = config.age.secrets."outline-storage_secret_key_file".path;
};
smtp = {
username = "web-services@infra.dgnum.eu";
port = 465;
host = "kurisu.lahfa.xyz";
fromEmail = "docs@infra.dgnum.eu";
replyEmail = "web-services@infra.dgnum.eu";
passwordFile = config.age.secrets."outline-smtp_password_file".path;
};
redisUrl = "local";
publicUrl = "https://${host}";
oidcAuthentication = {
clientId = "outline_dgn";
authUrl = "https://sso.dgnum.eu/ui/oauth2";
tokenUrl = "https://sso.dgnum.eu/oauth2/token";
userinfoUrl = "https://sso.dgnum.eu/oauth2/openid/outline_dgn/userinfo";
displayName = "DGNum SSO";
clientSecretFile =
config.age.secrets."outline-oidc_client_secret_file".path;
};
defaultLanguage = "fr_FR";
forceHttps = false;
port = 3003;
};
services.nginx.virtualHosts.${host} = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://localhost:3003";
proxyWebsockets = true;
};
};
dgn-secrets.matches."^outline-.*$" = { owner = "outline"; };
}