infrastructure/machines/nixos/compute01/mastodon.nix

55 lines
1.2 KiB
Nix
Raw Normal View History

# SPDX-FileCopyrightText: 2024 Tom Hubrecht <tom.hubrecht@dgnum.eu>
# SPDX-FileContributor: Maurice Debray <maurice.debray@dgnum.eu>
#
# SPDX-License-Identifier: EUPL-1.2
{ config, ... }:
let
host = "social.dgnum.eu";
in
{
services.mastodon = {
enable = true;
localDomain = host;
smtp = {
2024-04-20 15:10:40 +02:00
fromAddress = "noreply@infra.dgnum.eu";
2024-04-20 15:10:40 +02:00
host = "kurisu.lahfa.xyz";
port = 465;
user = "web-services@infra.dgnum.eu";
passwordFile = config.age.secrets.mastodon-smtp-password.path;
authenticate = true;
};
streamingProcesses = 4;
configureNginx = true;
extraConfig = {
# https://docs.codeberg.org/codeberg-pages/redirects/ is not yet active
# LOCAL_DOMAIN = "dgnum.eu";
WEB_DOMAIN = host;
2024-04-20 15:10:40 +02:00
SMTP_TLS = "true";
RAILS_LOG_LEVEL = "warn";
# ObjectStorage configuration
S3_ENABLED = "true";
S3_BUCKET = "mastodon-dgnum";
S3_REGION = "garage";
S3_HOSTNAME = "s3.dgnum.eu";
S3_ALIAS_HOST = "cdn.dgnum.eu";
# TODO: Setup SAML & OIDC
# OIDC_ENABLED = true;
# SAML_ENABLED = true;
};
extraEnvFiles = [ config.age.secrets."mastodon-extra_env_file".path ];
};
age-secrets.autoMatch = [ "mastodon" ];
}