{ config, ... }: let host = "social.dgnum.eu"; in { services.mastodon = { enable = true; localDomain = host; smtp = { # TODO: smtp setup fromAddress = "social@services.dgnum.eu"; }; streamingProcesses = 4; 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.matches."^mastodon-.*$" = { owner = "mastodon"; }; }