{ config, lib, dgn-lib, ... }: let inherit (dgn-lib) setDefault; host = "social.dgnum.eu"; in { services.mastodon = { enable = true; localDomain = host; smtp = { # TODO: smtp setup fromAddress = "social@services.dgnum.eu"; }; configureNginx = true; extraConfig = { # https://docs.codeberg.org/codeberg-pages/redirects/ is not yet active # LOCAL_DOMAIN = "dgnum.eu"; WEB_DOMAIN = host; 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 ]; }; dgn-secrets.options = [ (setDefault { owner = "mastodon"; } (builtins.filter (lib.hasPrefix "mastodon-") config.dgn-secrets.names)) ]; }