65 lines
1.4 KiB
Nix
65 lines
1.4 KiB
Nix
|
{ secret, ... }:
|
||
|
|
||
|
{
|
||
|
services.mastodon = {
|
||
|
enable = true;
|
||
|
|
||
|
configureNginx = false;
|
||
|
|
||
|
localDomain = "kempkens.io";
|
||
|
|
||
|
streamingPort = 55000;
|
||
|
webPort = 55001;
|
||
|
sidekiqPort = 55002;
|
||
|
enableUnixSocket = false;
|
||
|
|
||
|
trustedProxy = "172.18.0.4";
|
||
|
|
||
|
vapidPublicKeyFile = "/var/lib/mastodon/secrets/vapid-public-key";
|
||
|
secretKeyBaseFile = "/var/lib/mastodon/secrets/secret-key-base";
|
||
|
otpSecretFile = "/var/lib/mastodon/secrets/otp-secret";
|
||
|
vapidPrivateKeyFile = "/var/lib/mastodon/secrets/vapid-private-key";
|
||
|
|
||
|
database = {
|
||
|
createLocally = false;
|
||
|
host = "10.99.99.3";
|
||
|
port = 5432;
|
||
|
name = "mastodon";
|
||
|
inherit (secret.mastodon.database) user;
|
||
|
inherit (secret.mastodon.database) passwordFile;
|
||
|
};
|
||
|
|
||
|
redis = {
|
||
|
createLocally = false;
|
||
|
host = "10.99.99.3";
|
||
|
port = 6379;
|
||
|
};
|
||
|
|
||
|
elasticsearch.host = null;
|
||
|
|
||
|
smtp = {
|
||
|
createLocally = false;
|
||
|
authenticate = true;
|
||
|
host = "smtp.mailgun.org";
|
||
|
port = 465;
|
||
|
fromAddress = "mastodon@mg.kempkens.io";
|
||
|
inherit (secret.mastodon.smtp) user;
|
||
|
inherit (secret.mastodon.smtp) passwordFile;
|
||
|
};
|
||
|
|
||
|
automaticMigrations = true;
|
||
|
|
||
|
mediaAutoRemove = {
|
||
|
enable = true;
|
||
|
startAt = "daily";
|
||
|
olderThanDays = 21;
|
||
|
};
|
||
|
|
||
|
extraConfig = {
|
||
|
WEB_DOMAIN = "mastodon.kempkens.io";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
networking.firewall.allowedTCPPorts = [ 55000 55001 55002 ];
|
||
|
}
|