infrastructure/machines/nixos/compute01/outline.nix
sinavir a03fe42131
Some checks failed
Build all the nodes / netcore02 (push) Successful in 21s
Build all the nodes / ap01 (push) Successful in 33s
Build the shell / build-shell (push) Successful in 23s
Run pre-commit on all files / pre-commit (push) Successful in 23s
Build all the nodes / geo02 (push) Successful in 1m47s
Build all the nodes / hypervisor03 (push) Successful in 1m48s
Build all the nodes / hypervisor02 (push) Successful in 1m49s
Build all the nodes / hypervisor01 (push) Successful in 1m51s
Build all the nodes / geo01 (push) Successful in 2m19s
Build all the nodes / web02 (push) Successful in 2m24s
Build all the nodes / storage01 (push) Successful in 2m29s
Build all the nodes / bridge01 (push) Successful in 2m46s
Build all the nodes / build01 (push) Successful in 2m51s
Build all the nodes / vault01 (push) Successful in 2m51s
Build all the nodes / tower01 (push) Successful in 2m52s
Build all the nodes / rescue01 (push) Successful in 2m59s
Build all the nodes / web03 (push) Successful in 2m39s
Build all the nodes / web01 (push) Successful in 3m17s
Build all the nodes / compute01 (push) Failing after 3m34s
fix(outline): Proxy websockets
2025-01-21 16:26:19 +01:00

57 lines
1.4 KiB
Nix

# SPDX-FileCopyrightText: 2024 Tom Hubrecht <tom.hubrecht@dgnum.eu>
#
# SPDX-License-Identifier: EUPL-1.2
{ config, ... }:
let
host = "docs.dgnum.eu";
port = 3003;
in
{
services.outline = {
enable = true;
storage.storageType = "local";
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 = "dgn_outline";
authUrl = "https://sso.dgnum.eu/ui/oauth2";
tokenUrl = "https://sso.dgnum.eu/oauth2/token";
userinfoUrl = "https://sso.dgnum.eu/oauth2/openid/dgn_outline/userinfo";
displayName = "DGNum SSO";
clientSecretFile = config.age.secrets."outline-oidc_client_secret_file".path;
};
defaultLanguage = "fr_FR";
forceHttps = false;
inherit port;
};
dgn-web.simpleProxies.outline = {
inherit host port;
vhostConfig.locations."/robots.txt".return =
''200 "User-agent: *\nDisallow: /s/demarches-normaliennes/\n"'';
proxyWebsockets = true;
};
age-secrets.autoMatch = [ "outline" ];
dgn-backups.jobs.outline.settings.paths = [ "/var/lib/outline" ];
dgn-backups.postgresDatabases = [ "outline" ];
}